Deklarieren und initialisieren das String-Array in VBA

Glen Alfaro 18 April 2022
  1. Deklarieren und initialisieren Sie das dynamische String-Array
  2. Deklarieren und initialisieren Sie ein statisches String-Array
Deklarieren und initialisieren das String-Array in VBA

Bei jeder Codeausführung in jeder Programmiersprache ist es manchmal unvermeidlich, Informationen zu speichern. Das Gute ist, dass VBA beim Speichern von Daten mehrere Optionen zulässt, und eine davon sind die Arrays.

In VBA werden Arrays basierend auf ihrer Länge und Datentypflexibilität kategorisiert.

  1. Dynamische Arrays – Arrays, die in Länge und Datentyp variabel sind
  2. Statische Arrays – Arrays mit fester Länge und festem Datentyp.

Darüber hinaus können Arrays in VBA auch anhand ihrer Dimensionen kategorisiert werden.

  1. Eindimensionales Array – Arrays mit nur einem einzeiligen Array.
  2. Mehrdimensionales Array – Arrays mit mehreren einzeiligen Arrays.

Deklarieren und initialisieren Sie das dynamische String-Array

Die folgenden Codeblöcke zeigen, wie ein String-Array erstellt und initialisiert wird.

Methode 1 - Als Datentyp Variant deklarieren

Deklarieren Sie ein dynamisches Array, indem Sie eine Variable in einem Variant-Datentyp erstellen. Dann wird das Array durch eine Collection (Array()) initialisiert.

Sub DynamicArrayDemo()

Dim stringArray As Variant

stringArray = Array("Lion", "Tiger", "Cheetah", "Monkey", "Elephant", "Zebra")

Debug.Print stringArray(3)

End Sub

DynamicArrayDemo-Ausgabe:

Monkey

Methode 2 - Als String deklarieren, dann die Funktion Split() verwenden

Deklarieren Sie ein String-Array mit dem Namen stringArray, ohne die Grenzen explizit zu deklarieren.

Sub DynamicArrayDemo()

Dim stringArray() As String
Dim str As String

str = "Lion,Tiger,Cheetah,Monkey,Elephant,Zebra"

stringArray = Split("Lion,Tiger,Cheetah,Monkey,Elephant,Zebra", ",")

Debug.Print stringArray(2)
End Sub

DynamicArrayDemo-Ausgabe:

Cheetah

Deklarieren und initialisieren Sie ein statisches String-Array

Die folgenden Codeblöcke demonstrieren verschiedene Methoden zum Deklarieren und Initialisieren eines statischen Zeichenkettenarrays.

Methode 1 - Deklarieren von LowerBound und UpperBound:

Deklarieren Sie ein statisches String-Array, indem Sie sein erstes und letztes Element explizit deklarieren.

Syntax:

Dim stringArray([LowerBound] To [UpperBound]) As String

Parameter:

[LowerBound] Die Schlüsselzahl, auf die das erste Element des Arrays verwiesen wird.
[UpperBound] Die Schlüsselzahl, auf die das letzte Element des Arrays verwiesen wird.

Das folgende Beispiel deklariert ein String-Array namens stringArray mit sechs Elementen von Element 0 bis 5.

Sub StaticArrayDemo()

Dim stringArray(0 To 5) As String

stringArray(0) = "Lion"
stringArray(1) = "Tiger"
stringArray(2) = "Cheetah"
stringArray(3) = "Monkey"
stringArray(4) = "Elephant"
stringArray(5) = "Zebra"

Debug.Print stringArray(4)

End Sub

StaticArrayDemo Ausgabe:

Elephant

Methode 2 - Explizite Änderung der unteren Grenze

Deklarieren Sie ein String-Array durch einen generischen Lower bound-Wert.

Option Base 1

Sub StaticArrayDemo()
Dim stringArray(6) As String

stringArray(1) = "Lion"
stringArray(2) = "Tiger"
stringArray(3) = "Cheetah"
stringArray(4) = "Monkey"
stringArray(5) = "Elephant"
stringArray(6) = "Zebra"

Debug.Print stringArray(1)

End Sub

StaticArrayDemo Ausgabe:

Lion

Methode 3 – Deklarieren und initialisieren mit einem mehrdimensionalen Array

In VBA können Sie Arrays mit bis zu 60 Dimensionen deklarieren.

Syntax:

Dim stingArray( [LowerBound1] to [UpperBound1],[LowerBound2] to [UpperBound2], . . .  ) as String

Parameter:

[LowerBound1] Die Schlüssel-Ganzzahl ist das erste Array-Element, auf das in der ersten Array-Dimension verwiesen wird.
[UpperBound1] Die Schlüssel-Ganzzahl ist das letzte Array-Element, auf das in der ersten Array-Dimension verwiesen wird.
[LowerBound2] Die Schlüssel-Ganzzahl ist das erste Array-Element, auf das in der zweiten Array-Dimension verwiesen wird.
[UpperBound2] Die Schlüssel-Ganzzahl ist das letzte Array-Element, auf das in der zweiten Array-Dimension verwiesen wird.

Im folgenden Beispiel wurde ein mehrdimensionales Array deklariert, dessen erste Dimension 1 bis 5 ist; dann ist der andere 1 bis 5.

Sub MultiStaticArrayDemo()

Dim stringArray(1 To 5, 1 To 5) As String
Dim i, j As Integer

For i = 1 To 5
    For j = 1 To 5
        stringArray(i, j) = "The value of (" & i & "," & j & ") is " & i * j
        Debug.Print stringArray(i, j)
    Next j
Next i

End Sub

MultiStaticArrayDemo Ausgabe:

The value of (1,1) is 1
The value of (1,2) is 2
The value of (1,3) is 3
The value of (1,4) is 4
The value of (1,5) is 5
The value of (2,1) is 2
The value of (2,2) is 4
The value of (2,3) is 6
The value of (2,4) is 8
The value of (2,5) is 10
The value of (3,1) is 3
The value of (3,2) is 6
The value of (3,3) is 9
The value of (3,4) is 12
The value of (3,5) is 15
The value of (4,1) is 4
The value of (4,2) is 8
The value of (4,3) is 12
The value of (4,4) is 16
The value of (4,5) is 20
The value of (5,1) is 5
The value of (5,2) is 10
The value of (5,3) is 15
The value of (5,4) is 20
The value of (5,5) is 25

Verwandter Artikel - VBA Array