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-TypanweisungsvorlageOk, 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.