Excel VBA-Klassenmodul
Das Klassenmodul in VBA kann als das Modul definiert werden, mit dem Sie Ihre eigenen Objekte mit Ihren eigenen Eigenschaften und Methoden wie Arbeitsblättern und Bereichszielen von Excel erstellen können.
Mit dem Hilfemodul für VBA-Klassen können Objekte mit eigenen Eigenschaften erstellt werden. Bevor Sie ein Klassenmodul und seine Objekte in VBA erstellen, sollten Sie sich mit dem Konzept von Klasse und Objekt vertraut machen. Betrachten Sie ein reales Beispiel, um zu verstehen, was eine Klasse und was ein Objekt und seine Beziehung ist.
Wenn wir beispielsweise einen Gebäudeplan oder eine Blaupause eines Gebäudes erstellen, können wir mit Hilfe eines Gebäudeplans nicht nur ein Gebäude erstellen, sondern denselben Plan verwenden und mehrere Gebäude an verschiedenen Orten erstellen. Sie können in der Größe der Räume, der Höhe des Daches usw. variieren, aber die tatsächlichen Eigenschaften des Gebäudes bleiben dieselben, da Keller, Türen, Säulen, Decken usw. vorhanden sein sollten.
Wenn Sie eine Auto-Blaupause oder ein Auto-Modell nehmen, können wir auch mehrere Kopien davon anfertigen. Ein Auto hat Eigenschaften wie eine Reihe von Rädern, Farbe, Leistung usw. Einige Eigenschaften können von Auto zu Auto unterschiedlich sein, aber die Hauptkonfiguration bleibt gleich.
Um es klarer zu machen, können wir definieren wie:
- Klasse: Es ist eine Blaupause einer Sache, die hilft, ein Objekt zu erstellen.
- Objekt: Tatsächliche Existenz einer Sache.
Einfügen eines Klassenmoduls in Excel VBA
Im Folgenden finden Sie verschiedene Beispiele zum Einfügen eines Klassenmoduls in Excel mithilfe von VBA-Code.
Sie können diese Excel-Vorlage für das VBA-Klassenmodul hier herunterladen - Excel-Vorlage für das VBA-KlassenmodulExcel VBA Class Module - Beispiel # 1
Im Folgenden sind die verschiedenen Schritte zum Einfügen des Klassenmoduls mit VBA-Code in Excel aufgeführt.
Schritt 1: Gehen Sie oben zum Menü " Entwickler " und klicken Sie links auf " Visual Basic" .
Schritt 2: Um ein Klassenmodul zu erstellen, müssen Sie ein Klassenmodul in VBA einfügen. Klicken Sie oben auf das Dropdown- Menü Einfügen . Wählen Sie daraus ein Klassenmodul .
Nun wird in VBA auf der linken Seite ein Klassenmodul eingefügt, wie im folgenden Screenshot gezeigt.
Wie bereits erwähnt, ist ein Klassenmodul eine Blaupause, mit der wir Objekte erstellen. Wir müssen also einige Variablen und Methoden definieren, auf die alle Objekte zugreifen können.
Schritt 3: Ändern Sie den Namen des Klassenmoduls gemäß Ihren Anforderungen. Hier habe ich den Namen Blueprint geändert
Schritt 4: Jetzt müssen wir die Variablen und Methoden definieren.
Code:
Option Explicit Public Als Ganzzahl Public hinzufügen pro Als Ganzzahl Public x Als Ganzzahl Public y Als Ganzzahl
Wie im obigen Screenshot gezeigt, beginnen Sie zuerst mit der expliziten Option. Warum explizite Option? Es wird ein Fehler ausgelöst, wenn wir eine Variable im Programm verwenden, die nicht definiert ist. Daher sollten wir alle Variablen explizit definieren. Hier definieren wir vier Variablen add, pro, x und y. Alle Variablen sind als öffentlich definiert, da dann nur auf diese Variablen von anderen Modulen zugegriffen werden kann.
Schritt 5: Bisher haben wir Variablen definiert, die nun Methoden oder Funktionen definieren müssen.
Code:
Option Explicit Public Als Ganzzahl Public hinzufügen pro Als Ganzzahl Public x Als Ganzzahl Public y Als Ganzzahl Sub summe () add = x + y MsgBox (add) End Sub
Ich habe eine einfache Methode sum () definiert, Sie können komplexe Unterprogramme nach Bedarf definieren. In der Untermethode sum () haben wir definiert, wie die Additionsoperation ausgeführt und wo dieser Wert gespeichert werden soll, und anschließend das Ergebnis in einem Meldungsfeld angezeigt.
Schritt 6: Es wurde ein Klassenmodul erstellt. Nun ist es an der Zeit, ein normales Modul für die Verwendung des Klassenentwurfs zu erstellen. Fügen Sie daher ein Modul auf die gleiche Weise ein, wie wir ein Klassenmodul eingefügt haben.
Schritt 7: Standardmäßig lautet der Modulname module1, den wir nach Belieben ändern können. Schreiben Sie den Code in module1.
Code:
Sub math () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.sum End Sub
Hier schreiben wir ein Unterprogramm math (). Darin haben wir ein Objekt mit dem Namen obj erstellt, das mit einem Klassenentwurf identisch ist. Das ist der Grund, warum wir so „obj als neue Blaupause“ definiert haben, was bedeutet, dass die Blaupause dupliziert wird und der Name obj lautet.
In diesem Programm haben wir nicht x und y definiert, sondern die Werte direkt x und y zugewiesen, da diese bereits in einem Klassenmodul definiert sind und das Objekt eine Duplikation davon ist. Daher hat es diese Variablen, aber um sie aufzurufen, sollten wir einen object.variable-Namen verwenden.
Obj.x = 5 bedeutet, dass der Wert 5 in der Variablen x gespeichert wird.
Obj.y = 6 Mittelwert 6 wird in y-Variable gespeichert.
Rufen Sie nun die im Klassenmodul definierten Methoden mit dem Objektnamen obj auf.
Obj.sum () führt die im Klassenmodul definierte Additionsoperation aus. Im Klassenmodul haben wir x + y und ein Objekt definiert, wir haben die Werte für x und y definiert, daher nimmt es die Werte und führt die Berechnung durch und speichert das Ergebnis in add, das ein ganzzahliger Typ ist. Im letzten Schritt wird das Ergebnis im Meldungsfeld angezeigt.
Schritt 8: Führen Sie das Modul 1 aus, indem Sie die Taste F5 drücken oder auf die Wiedergabetaste klicken.
Schritt 9: Wählen Sie den Makronamen und klicken Sie auf die Option Ausführen .
Die Ergebnisse werden wie folgt angezeigt.
Excel VBA Class Module - Beispiel # 2
Befolgen Sie die folgenden Schritte:
Schritt 1: Fügen Sie nun eine weitere Methode mit dem Namen "mul" hinzu, um eine Multiplikationsoperation durchzuführen. Das Ergebnis sollte in den Zellen (5, 5) von Blatt 1 gespeichert werden.
Code:
Sub mul () pro = x * y Sheet1.Cells (5, 5) = pro End Sub
In der obigen mul () -Methode haben wir x und y multipliziert und das Ergebnis wird in "pro" gespeichert, einem ganzzahligen Datentyp.
Schritt 2: Gehen Sie nun zu module1 und rufen Sie diese mul-Methode mit dem Objekt obj auf (siehe unten).
Code:
Sub math1 () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.mul End Sub
Schritt 3: Drücken Sie die Taste F5, um das Modul auszuführen. Gehen Sie zu Sheet1 und überprüfen Sie, ob das Ergebnis wie folgt angezeigt wird.
Im vorherigen Beispiel haben wir die Ergebnisse im Meldungsfeld angezeigt, aber in der zweiten Methode haben wir sie in Excel angezeigt. Wenn wir also die Variablen und Methoden im Klassenmodul deklarieren, können wir sie mit Hilfe eines Objekts in anderen Modulen verwenden, ohne den Code zu wiederholen. Hoffe, Sie haben verstanden, wie man das Klassenmodul in Excel VBA einfügt und wie man ein Objekt dafür erstellt.
Dinge, an die man sich erinnern sollte
- Es ist immer ratsam, beim Vorbereiten eines Klassenmoduls die Option explicit zu verwenden, da bei der Verwendung von Variablen in VBA möglicherweise Tippfehler auftreten.
- Wenn Sie für die Anzeige der Ergebnisse keine Blattnummer angeben, wird das aktive Blatt automatisch ausgewählt.
- Verwenden Sie beim Initiieren der Variablen das Schlüsselwort Public, damit andere Module auf die Variablen zugreifen können.
- Sie können die Variablen oder Methoden erst aufrufen, nachdem Sie das Objekt erstellt haben. Erstellen Sie daher ein Objekt für die Klasse und rufen Sie dann die Variablen und Methoden auf.
Empfohlene Artikel
Dies ist eine Anleitung zum VBA-Klassenmodul. Hier erläutern wir das Einfügen von Klassenmodulen in Excel mithilfe von VBA-Code sowie einige praktische Beispiele und herunterladbare Excel-Vorlagen. Sie können auch unsere anderen Artikelvorschläge durchgehen -
- VBA Suchen und Ersetzen
- Excel-Summe nach Farbe
- VBA Check File Exists
- Excel-Pivot-Tabelle löschen
- VBA-Code | Beispiele