Déclarer et initialiser un tableau de chaînes dans VBA
- Déclarer et initialiser un tableau de chaînes dynamique
- Déclarer et initialiser un tableau de chaînes statiques
Dans toute exécution de code dans n’importe quel langage de programmation, le besoin de stocker des informations est parfois inévitable. La bonne chose est que VBA permet plusieurs options lors du stockage des données, et l’une d’elles est les tableaux.
Dans VBA, les tableaux sont classés en fonction de leur longueur et de la flexibilité du type de données.
- Tableaux dynamiques - tableaux dont la longueur et le type de données varient
- Tableaux statiques - tableaux dont la longueur et le type de données sont fixes.
De plus, les tableaux dans VBA peuvent également être classés en fonction de leurs dimensions.
- Tableau à une dimension - tableaux qui n’ont qu’un seul tableau à une seule ligne.
- Tableau multidimensionnel - tableaux qui ont plusieurs tableaux à une seule ligne.
Déclarer et initialiser un tableau de chaînes dynamique
Les blocs de code ci-dessous montrent comment créer et initialiser un tableau de chaînes.
Méthode 1 - Déclarer comme type de données Variant
Déclarez un tableau dynamique en créant une variable dans un type de données variant. Ensuite le tableau sera initialisé par une collection (Array()
).
Sub DynamicArrayDemo()
Dim stringArray As Variant
stringArray = Array("Lion", "Tiger", "Cheetah", "Monkey", "Elephant", "Zebra")
Debug.Print stringArray(3)
End Sub
Sortie DynamicArrayDemo
:
Monkey
Méthode 2 - Déclarer en tant que String, puis utiliser la fonction Split()
Déclarez un tableau de chaînes nommé stringArray
sans déclarer explicitement les limites.
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
Sortie DynamicArrayDemo
:
Cheetah
Déclarer et initialiser un tableau de chaînes statiques
Les blocs de code ci-dessous illustrent différentes méthodes pour déclarer et initialiser un tableau de chaînes statique.
Méthode 1 - Déclarer LowerBound
et UpperBound
:
Déclarez un tableau de chaînes statique en déclarant explicitement ses premier et dernier éléments.
Syntaxe:
Dim stringArray([LowerBound] To [UpperBound]) As String
Paramètres:
[LowerBound] |
L’entier clé auquel le premier élément du tableau est référencé. |
[UpperBound] |
L’entier clé auquel le dernier élément du tableau est référencé. |
L’exemple ci-dessous déclarera un tableau de chaînes nommé stringArray
avec six éléments de l’élément 0 à 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
Sortie StaticArrayDemo
:
Elephant
Méthode 2 - Changer explicitement la limite inférieure
Déclarez un tableau de chaînes par une valeur générique Borne inférieure
.
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
Sortie StaticArrayDemo
:
Lion
Méthode 3 - Déclarer et initialiser à l’aide d’un tableau multidimensionnel
Dans VBA, vous pouvez déclarer des tableaux jusqu’à 60 dimensions.
Syntaxe:
Dim stingArray( [LowerBound1] to [UpperBound1],[LowerBound2] to [UpperBound2], . . . ) as String
Paramètres:
[LowerBound1] |
L’entier clé est le premier élément de tableau référencé sur la première dimension du tableau. |
[UpperBound1] |
L’entier clé est le dernier élément de tableau référencé sur la première dimension du tableau. |
[LowerBound2] |
L’entier clé est le premier élément de tableau référencé sur la deuxième dimension du tableau. |
[UpperBound2] |
L’entier clé est le dernier élément de tableau référencé sur la deuxième dimension du tableau. |
Dans l’exemple ci-dessous, un tableau multidimensionnel a été déclaré où la première dimension est de 1 à 5 ; puis l’autre est de 1 à 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
Sortie MultiStaticArrayDemo
:
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