Array-Tutorials | |
---|---|
Array Mega-Guide | Jawohl |
Array-Größe abrufen | |
Array löschen | |
Filter-Array | |
Array transponieren | |
Funktions-Return-Array | |
Duplikate entfernen | |
Eine Einführung in Variablen und Konstanten haben wir in unserem Einführungstutorial zu VBA-Datentypen - Variablen und Konstanten behandelt. In diesem Tutorial werden wir uns ansehen, was Array-Variablen sind und wie Sie sie in Ihrem Code verwenden können.
Was ist eine VBA-Array-Variable?
Eine VBA-Array-Variable speichert eine Liste oder Gruppe von Elementen. Eine VBA-Array-Variable kann man sich auch als eine Gruppe von Variablen vorstellen, die unter demselben Namen gespeichert sind und denselben Datentyp haben. Alle Elemente im Array müssen vom gleichen Typ sein. Ein Beispiel wäre eine Liste von Früchten. Ein Array kann Text oder Zahlen speichern. Sie verweisen auf ein Element in einem Array mit seiner Indexnummer. Sie können eine Array-Variable mit dem Schlüsselwort Dim, Static, Public oder Private deklarieren.
Statische Array-Variable
Eine statische Array-Variable hat eine feste Größe oder festgelegte Anzahl von Elementen in der Liste. Sie würden eine statische Array-Variable wie folgt deklarieren:
123456789 | Unter DeklarationAStaticArrayVariable()Dim Schuhe(1 bis 3) als StringSchuhe(1) = "Stiefel"Schuhe(2) = "Sandalen"Schuhe(3) = "Turnschuhe"End Sub |
Sie können ein bestimmtes Element im Array anzeigen, indem Sie auf seine Indexnummer verweisen, wie im folgenden Code gezeigt:
1234567891011 | Unter DeklarationAStaticArrayVariable()Dim Schuhe(1 bis 3) als StringSchuhe(1) = "Stiefel"Schuhe(2) = "Sandalen"Schuhe(3) = "Turnschuhe"Debug.Print Schuhe(1)End Sub |
Wenn Sie F5 drücken, um Ihren Code auszuführen, erhalten Sie im Direktfenster das folgende Ergebnis:
Dynamische Array-Variable
Die Größe einer dynamischen Array-Variable ändert sich zur Laufzeit und wird also nur zur Laufzeit eingestellt. Sie deklarieren zunächst nicht die Anzahl der Elemente oder Elemente im Array wie bei der statischen Array-Variablen, sondern verwenden das Schlüsselwort ReDim, um die Größe oder die Anzahl der Elemente anzugeben, die ein dynamisches Array hat. Sie können dann die Größe Ihres Arrays mit dem ReDim-Schlüsselwort ändern:
123456789101112131415161718192021 | Sub DeclaringADynamicArrayVariable()Dim differentvegetables() As StringReDim verschiedene Gemüse(3)differentvegetables(1) = "Karotten"differentvegetables(2) = "Kürbis"differentvegetables(3) = "Butternuss"MsgBox Join (verschiedene Gemüse, vbCr)ReDim verschiedene Gemüse(4)differentvegetables(1) = "Karotten"differentvegetables(2) = "Kürbis"differentvegetables(3) = "Butternuss"differentvegetables(4) = "Kohl"MsgBox Join (verschiedene Gemüse, vbCr)End Sub |
Wenn Sie diesen Code ausführen, erhalten Sie das Meldungsfeld mit allen Elementen im Array, das mit dem ReDim-Schlüsselwort angegeben wurde, und dann ein weiteres Meldungsfeld mit der aktualisierten Anzahl von Elementen im Array.
Das Ergebnis ist: