VBA-Klassenmodule

Excel VBA-Klassenmodule

Wenn wir VBA verwenden, verwenden wir die in VBA definierten Eigenschaften und Attribute. Was passiert jedoch, wenn wir unsere eigenen Eigenschaften und Methoden und Attribute erstellen möchten, dh wenn wir ein Klassenmodul in VBA verwenden, damit wir es benutzerdefiniert haben können, a Das Klassenmodul verfügt über einen eigenen Satz von Codes, die vom Benutzer für Funktionen, Eigenschaften und Objekte definiert werden.

Klassenmodule werden zum Erstellen eines Objekts verwendet. Wenn wir Objekte sagen, obwohl es sich um eine Variable handelt, handelt es sich um kleine Programme. Während wir den Code schreiben, schreiben wir normalerweise in Modulen. In den Grundmodulen schreiben wir unsere Codes, um die Arbeit zu erledigen. Wir verwenden das Benutzerformular auch, um grafische Benutzeroberflächen zu erstellen.

Wenn Sie sich das obige Bild ansehen, sehen Sie „Klassenmodul“. Ich weiß sicher, dass Sie das nicht berührt haben, bis Sie diesen Beitrag lesen. Sie müssen sich fragen, was dieses VBA-Klassenmodul ist, wenn alle Aufgaben mit unserem regulären Modul selbst erledigt werden können.

Was ist das Klassenmodul?

Mit Klassenmodulen kann ein Benutzer sein eigenes Objekt erstellen, genau wie wir Objekte in regulären Modulen wie "Arbeitsblätter", "Arbeitsmappen", "Bereich" usw. eingebaut haben.

So können wir mithilfe eines Klassenmoduls benutzerdefinierte Objekte erstellen.

Die Klasse hat eine direkte Beziehung zu Objekten. Sie haben beispielsweise ein Maschinendiagramm zum Erstellen einer Maschine, aber denken Sie daran, dass es sich noch nicht um eine Maschine handelt. Mit diesem Maschinendiagramm können wir viele solcher Maschinen erstellen.

Wenn Sie beispielsweise verschiedene Maschinenmarken auflisten möchten, um die Eigenschaften verschiedener Modelle aufzulisten.

In der Maschine haben wir einen Markennamen, eine Seriennummer, eine Maschinenleistung, eine Farbe der Maschine, eine Anzahl der beteiligten Motoren, eine Kraftstoffart usw. In der Fachsprache werden diese als „Eigenschaften“ bezeichnet.

In Bezug auf die Eigenschaften der Maschine können wir starten, wir können abschalten, wir können die Drehzahl des Motors erhöhen, wir können pausieren usw. Und diese werden als „Methoden“ bezeichnet.

Beispiel

Sie können diese VBA-Klassenvorlage hier herunterladen - VBA-Klassenvorlage

Lassen Sie uns den Ball ins Rollen bringen, denn es ist immer langweilig, den theoretischen Teil vorzulesen. Um ein Klassenmodul einzufügen, gehen Sie zur Option Einfügen im Visual Basic-Editor.

Jetzt können wir ein Klassenmodul wie das folgende sehen.

Dies sieht ähnlich aus wie oben als reguläres Modul. Ändern Sie den Namen des Klassenmoduls im Eigenschaftenfenster. Um das Eigenschaftenfenster anzuzeigen, drücken Sie die Taste F4 .

Deklarieren Sie nun die Variable als Zeichenfolge.

Ohne eine Unterprozedur in vba zu erstellen, müssen wir die Variable deklarieren und diesmal auch mit dem Wort "Public" und nicht mit "Dim".

Jetzt können wir in jedem Modul und Klassenmodul auf diese Variable zugreifen.

Gehen Sie nun zu einem regulären Modul und benennen Sie die Variable.

Nachdem wir die Variable deklariert haben, müssen wir den Datentyp in VBA zuweisen. Anstatt den Datentyp zuzuweisen, können wir einfach den Namen des Klassenmoduls angeben, dh CM

Mit der Variablen "k" können wir nun auf die öffentliche Variable zugreifen, die wir im Klassenmodul definiert haben, dh "Mein Wert".

Wie wir im obigen Bild sehen können, zeigt es die Option des Variablennamens aus dem Klassenmodul, um ihm den Wert zuzuweisen.

Zeigen Sie nun den Wert der zugewiesenen Variablen im VBA-Meldungsfeld an.

Code:

 Sub Class_Example () Dim k Neuwertig CM k.MyValue = "Hallo" MsgBox k.MyValue End Sub 

Führen Sie diesen Code mit der Taste F5 oder manuell aus, um das Ergebnis anzuzeigen.

Klassenmodul gegen Objekte

In der Anfangsphase des Klassenmoduls wird jeder mit dem verwechselt, was Klasse und was ein Objekt ist.

Um dies zu verstehen, erinnern Sie sich an unser früheres Beispiel eines Maschinendiagramms. Das erste, was wir zur Herstellung einer Maschine benötigen, ist, dass wir zuerst die Maschine entwerfen müssen und dann mehrere Kopien mit dieser Konstruktion repliziert werden können.

Beziehen Sie dies nun auf unser Klassenmodul.

  • Hier ist das Klassenmodul ein Design. Und Objekt ist die vom Design erstellte Kopie .
  • Eine weitere interessante Sache ist, dass wir das Wort "neu" verwenden müssen, um ein Objekt aus dem Klassenmodul zu erstellen.

Unten ist ein Beispiel dafür.

Wenn wir integrierte Objekte wie Arbeitsblätter, Arbeitsmappen und Bereichsobjekte verwenden, verwenden wir nicht das Wort "neu".

Um das Verfahren mit dem Klassenmodul zu beginnen, sollten Sie diese grundlegenden Dinge wissen. In den kommenden Artikeln werden wir die Beispiele der nächsten Ebene sehen.

Es scheint schwer zu verstehen, je mehr Zeit Sie mit einem Klassenmodul verbringen, desto mehr werden Sie sich daran gewöhnen.