VBA-Typanweisung (Beispiel) - Wie deklariere ich Variablen mit VBA-Typ?

Typ ist eine Anweisung in VBA, die zum Definieren von Variablen verwendet wird, die der DIM-Funktion ähnlich sind. Sie wird auf der benutzerdefinierten Ebene verwendet, wenn eine Variable einen oder mehrere Werte enthält. Es gibt jedoch zwei Nomenklaturen für Typanweisungen, die öffentlich oder privat sind Diese sind optional zu verwenden, aber der Variablenname und der Elementname sind erforderlich.

Was ist eine Typanweisung in Excel VBA?

Mit der VBA-Typanweisung werden Variablen unter einem einzigen Gruppennamen definiert, wobei jeder Variablen unterschiedliche Datentypen zugewiesen werden. Dies hilft uns, mehrere Variablen unter einem einzigen Objekt zusammenzufassen, um sie unter dem definierten Typnamen zu verwenden.

Durch das Deklarieren der Type-Anweisung können wir die Verwendung von Klassenmodulen in VBA vermeiden. Es werden keine String-Module benötigt, da es in bereits vorhandene Module eingebettet werden kann, wodurch Platz gespart werden kann.

In einem der früheren Artikel haben wir die „VBA ENUM“ besprochen, um alle Variablen unter dem Namen einer einzelnen Gruppe zusammenzufassen.

Wenn Sie beispielsweise einen Gruppennamen mit dem Namen "Handys" haben, haben wir Gruppenmitglieder wie "Redmi, Oppo, Vivo, Samsung, LG usw.". So können wir die Enum-Anweisung mit ihren jeweiligen Werten gruppieren.

Enum Mobiles

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

Enum beenden

So haben wir in diesem Artikel Aufzählungen erstellt. Das Problem mit der Enum-Anweisung, da sie nur einen LONG-Datentyp enthalten kann. Um Variablen mit unterschiedlichen Datentypen zu gruppieren, können wir die "VBA TYPE-Anweisung" verwenden. In diesem Artikel zeigen wir Ihnen, wie Sie eine Type-Anweisung in VBA erstellen. Weiter lesen…

Syntax

Sehen Sie sich die Syntax an, bevor Sie Variablen mithilfe der Type-Anweisung deklarieren:

Typ Gruppenname   (Variable 1) als variabler Datentyp   (Variable 2) als variabler Datentyp   (Variable 3) als variabler Datentyp   (Variable 4) als variabler Datentyp   (Variable 5) als variabler Datentyp  Endtyp

Diese Arten von Anweisungen können sowohl innerhalb des Moduls als auch am oberen Rand des Moduls deklariert werden, wie z. B. unsere globalen Variablen in VBA.

Der VBA-Typ kann Objektvariablen enthalten. Es kann Arrays enthalten. Es kann jedoch keine Prozeduren und Funktionen enthalten.

Beispiel für eine Typanweisung in VBA

Ok, beginnen wir den Prozess der Deklaration von Variablen mit der Type-Anweisung. Wir werden das gleiche Beispiel für die Deklaration von Mobile-Marken sehen, wie wir es in VBA Enum verwendet haben.

Schritt 1: Beginnen Sie oben im Modul mit dem Wort „Typ“ und geben Sie dem Gruppentyp einen Namen.

Code:

Typ MobileBrands Endtyp

Schritt 2: Was sehen wir in Mobile Brands normalerweise? Wir sehen zuerst Name, also deklarieren Sie die Variable als Name als String.

Code:

Geben Sie MobileBrands Name als String End Type ein

Schritt 3: Nach dem Namen überprüfen wir das Startdatum. Deklarieren Sie die Variable als LaunchDate als Datum.

Code:

Typ MobileBrands Name als Zeichenfolge LaunchDate As Date End Type

Schritt 4: Als nächstes überprüfen wir die Speicherkapazität. Deklarieren der Variablen als Speicher als Ganzzahl.

Code:

Geben Sie MobileBrands Name als Zeichenfolge ein. LaunchDate As Date Storage As Integer End Type

Schritt 5: Als nächstes überprüfen wir die RAM-Kapazität.

Code:

Typ MobileBrands Name als Zeichenfolge LaunchDate As Date Storage As RAM As Integer End Type

Schritt 6: Zuletzt überprüfen wir den Preis.

Code:

Typ MobileBrands Name als Zeichenfolge LaunchDate als Datum Speicherung als Integer RAM als Integer Preis als Long End Type

Jetzt können wir in der Unterprozedur durch Deklarieren der Variablen als Typ, Name, dh MobileBrands, auf alle diese variablen Datentypen zugreifen.

Step 7: Create a subprocedure.

Code:

Sub Type_Example1() End Sub

Step 8: Now declare the variable “Mobile” as MobileBrnads.

Code:

Sub Type_Example1() Dim Mobile As Mob End Sub

Step 9: Now, with the variable name “Mobile,” we can access all the variables of “MobileBrands.”

Code:

Step 10: Now store each value like the below.

Code:

Type MobileBrands Name As String LaunchDate As Date Storage As Integer RAM As Integer Price As Long End Type Sub Type_Example1() Dim Mobile As MobileBrands Mobile.Name = "Redmi" Mobile.LaunchDate = "10-Jan-2019" Mobile.Storage = 62 Mobile.RAM = 6 Mobile.Price = 16500 MsgBox Mobile.Name & vbNewLine & Mobile.LaunchDate & vbNewLine & _ Mobile.Storage & vbNewLine & Mobile.RAM & vbNewLine & Mobile.Price End Sub

Finally, show the result in a VBA message box like the below one.

Code:

Sub Type_Example1() Dim Mobile As MobileBrands Mobile.Name = "Redmi" Mobile.LaunchDate = "10-Jan-2019" Mobile.Storage = 62 Mobile.RAM = 6 Mobile.Price = 16500 MsgBox Mobile.Name & vbNewLine & Mobile.LaunchDate & vbNewLine & _ Mobile.Storage & vbNewLine & Mobile.RAM & vbNewLine & Mobile.Price End Sub

Now run the code using the F5 key or manually and see the result in a message box.

Like this, we can use the “VBA Type” statement to define new data types in the subprocedure.

VBA Types vs. VBA Class

VBA Type is often compared to VBA Class modules. There are certain differences between them. Below are the common differences.

  • Unterschied 1: Der VBA-Typ kann nur öffentliche Variablen enthalten. Die VBA-Klasse kann sowohl öffentliche als auch private Variablen enthalten.
  • Unterschied 2: Der VBA-Typ darf keine Prozeduren und Funktionen enthalten. Die VBA-Klasse enthält beide zusammen mit Eigenschaften.
  • Unterschied 3: Der VBA-Typ kann in jedem der Module und Prozeduren deklariert werden. Die VBA-Klasse kann nur in dedizierten Klassenmodulen deklariert werden.

Interessante Beiträge...