Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Excel VBA für Profis: Klassen (Konzepte)

Unterschiede zu normalen Modulen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Der Unterschied zwischen Klassenmodulen und Standardmodulen ist sehr klein. Oftmals kann man beide nur an einer Eigenschaft unterscheiden. Doch beim Aufruf der Prozeduren verhalten sie sich anders.

Transkript

Was ist denn eigentlich der Unterschied zwischen Klassen- und normalen Modulen? Im Wesentlichen läuft es darauf hinaus, dass Sie eine Klasse definieren und das Klassenmodul einem Stempel entspricht. Optisch ist das gar nicht so unterschiedlich, aber im Hintergrund ist eine andere Art Modul definiert. Wenn Sie eine Klasse erstellen, müssen Sie also ein Klassenmodul einfügen. Das sieht genau gleich aus, hat nur eine kleine Einstellung anders, dann weißt der Compiler bescheid. Und bis dahin enthält es erstmal ganz normale Prozeduren. Die sehen aus wie Prozeduren in allen anderen Modulen auch, Sie können alles was Sie in normalen Modulen machen, auch in Klassenmodulen machen. Da ist also kein Unterschied. Der Unterschied käme erst, wenn Sie diese speziellen Klassenprozeduren nutzen. Diese, die beispielsweise "Class_Initialize" oder "Class_Terminate" heißen. Aber auch diese nicht wirklich so besonders. Abgesehen davon, dass sie "Private" sind, das könnten Sie mit einer anderen Prozedur auch machen und reservierte Namen haben, liest sich das eigentlich erstmal wie ganz normale Code. Bis dahin sieht man also kaum Unterschiede. Der Unterschied beginnt, wenn Sie die Klasse aufrufen wollen. Sie müssen sie nämlich initialisieren. Der Aufruf einer Klasse entspricht, so zu sagen, dem Stempelabdruck. Der Stempel selber ist danach Unwichtig. Es geht um den Abdruck, dass was der Stempel hinterlässt und das kann mehrfach auftauchen. Und jeder dieser Abdrücke oder jeder dieser Klassenaufrufe kann eigene Inhalte haben, eigene Variablen und die unterscheiden sich dann, obwohl die Ursprungklasse das Gleiche war, stehen jetzt in jeder, Instanz heißt das diese Klasse, einzelne Inhalte. Die brauchen Sie gar nicht speziell zu verwalten. Das macht die Klasse für sich selber. Sie müssen nur diese Klasse speziell aufrufen und das nennt sich "initialisieren". Und die Prozeduren, die Sie in diesem Klassenmodul geschrieben haben, die können Sie nicht für sonst einfach direkt aufrufen, sondern nur als Element dieser Klasseninstanz. Das kennen Sie aber schon immer, wenn Sie Objektpunkt unter Objekt aufrufen, passiert genau so was. Also ohne Klasse dürfen Sie einfach einen Prozedurnamens "SagHallo" aufrufen und "MeinName" als Funktion innerhalb der Klasse ebenfalls. Das geht nicht mehr. Wenn das Element einer Klasse ist, dann müssen Sie diese Klasse erst initialisieren, hier ist es nur Variable vereinbart, hier ist die Initialisierung mit dem Schlüsselwort "New", und in diesem Objekt, in dieser Instanz ist jetz das Ergebnis der Klasse enthalten und deswegen darf ich nicht mehr einfach "SagHallo" aufrufen, sondern muss sagen von dieser Instanz "clsX" die Eigenschaft oder die Methode, oder die Funktion "SagHallo" beziehungsweise "MeinName". Das ist der wesentliche Unterschied, dass Sie die Klasse mitnehmen müssen. Also im Großen und Ganzen, wenn ich Unterschiede, der Hauptunterschied findet sich an dieser Stelle, Sie müssen eine Klasse instanziieren, initialisieren, wie immer das Sie nennen wollen, sprich Sie machen ein Stempelabdruck oder mehrere davon, und müssen dann immer dazu sagen welchen Stempelabdruck Sie meinen, welche Instanz der Klasse.

Excel VBA für Profis: Klassen (Konzepte)

Verbessern Sie Ihren VBA-Code durch Klassenprogrammierung.

1 Std. 35 min (21 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!