VBA-Typ

Typ ist eine Anweisung in VBA, die zum Definieren von Variablen verwendet wird, die der DIM-Funktion ähnlich sind. Sie wird auf benutzerdefinierter 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 die Deklaration 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 namens "Mobiles" 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

Bevor Sie Variablen mithilfe der Type-Anweisung deklarieren, sehen Sie sich die Syntax an:

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 unsere globalen Variablen in VBA.

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

Beispiel für eine Typanweisung in VBA

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

Ok, beginnen wir mit 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 Typname, dh MobileBrands, auf alle diese variablen Datentypen zugreifen.

Schritt 7: Erstellen Sie eine Unterprozedur.

Code:

 Sub Type_Example1 () End Sub 

Schritt 8: Deklarieren Sie nun die Variable "Mobile" als MobileBrnads.

Code:

 Sub Type_Example1 () Dim Mobile As Mob End Sub 

Schritt 9: Jetzt können wir mit dem Variablennamen "Mobile" auf alle Variablen von "MobileBrands" zugreifen.

Code:

Schritt 10: Speichern Sie nun jeden Wert wie folgt.

Code:

 Typ MobileBrands Name als Zeichenfolge LaunchDate als Datum Speicherung als Integer RAM als Integer Preis als Long End Typ Sub Type_Example1 () Dim Mobile als 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 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 type in the subprocedure.

VBA Types vs VBA Class

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

  • Difference 1: VBA Type can contain only Public variables. VBA Class can contain both Public as well as Private variables.
  • Difference 2: VBA Type cannot contain Procedures and Function. VBA Class contains both of them along with properties.
  • Difference 3: VBA Type can be declared in any of the modules and procedures. VBA Class can only be declared in dedicated class modules.