Tableau de chaînes VBA - Comment déclarer et initialiser un tableau de chaînes dans Excel VBA?

Table des matières

Tableau de chaînes Excel VBA

Dans VBA, un tableau String n'est rien d'autre qu'une variable de tableau qui peut contenir plus d'une valeur de chaîne avec une seule variable.

Par exemple, regardez le code VBA ci-dessous.

Code:

Sub String_Array_Example () Dim CityList (1 To 5) As Variant CityList (1) = "Bangalore" CityList (2) = "Mumbai" CityList (3) = "Kolkata" CityList (4) = "Hyderabad" CityList (5) = "Orissa" MsgBox CityList (1) & "," & CityList (2) & "," & CityList (3) & "," & CityList (4) & "," & CityList (5) End Sub

Dans le code ci-dessus, j'ai déclaré comme variable de tableau et attribué la longueur d'un tableau de 1 à 5.

Dim CityList (1 à 5) comme variante

Pour cette variable de tableau, j'ai attribué 5 noms de villes en mentionnant chaque nombre de tableaux entre parenthèses.

CityList (1) = "Bangalore" CityList (2) = "Mumbai" CityList (3) = "Kolkata" CityList (4) = "Hyderabad" CityList (5) = "Orissa"

Ensuite, j'ai écrit un code pour afficher ces noms de villes dans la boîte de message.

MsgBox CityList (1) & "," & CityList (2) & "," & CityList (3) & "," & CityList (4) & "," & CityList (5)

Lorsque j'exécute ce code, nous obtenons une boîte de message qui affiche tous les noms de villes dans une seule boîte de message.

Nous savons tous que cela a permis de gagner beaucoup de temps par rapport à notre calendrier en éliminant la tâche de déclarer des variables individuelles pour chaque ville. Cependant, une autre chose que vous devez apprendre est que nous pouvons toujours réduire le code de ligne que nous écrivons pour les valeurs de chaîne. Voyons comment nous écrivons du code pour les tableaux de chaînes VBA.

Exemples de tableau de chaînes dans Excel VBA

Voici les exemples d'un tableau de chaînes VBA Excel.

Exemple 1

Comme nous l'avons vu dans le code ci-dessus, nous avons appris que nous pouvions stocker plus d'une valeur dans la variable en fonction de la taille du tableau déterminée.

Maintenant, ce que nous devons faire est de ne pas décider de la longueur du tableau bien à l'avance.

Code:

Sub String_Array_Example1 () Dim CityList () As Variant End Sub

Comme vous pouvez le voir ci-dessus à l'intérieur des parenthèses, je n'ai écrit aucune longueur. Maintenant, pour cette variable, insérons des valeurs en utilisant la fonction VBA ARRAY.

À l'intérieur du tableau, passez les valeurs entre guillemets, chacun séparé par une virgule (,).

Code:

Sub String_Array_Example () Dim CityList () As Variant CityList = Array ("Bangalore", "Mumbai", "Kolkata", "Hyderabad", "Orissa") End Sub

Maintenant, conservez l'ancien code pour afficher le résultat des noms de villes dans la boîte de message dans VBA.

Code:

Sub String_Array_Example1 () Dim CityList () As Variant CityList = Array ("Bangalore", "Mumbai", "Kolkata", "Hyderabad", "Orissa") MsgBox CityList (0) & "," & CityList (1) & " , "& CityList (2) &", "& CityList (3) &", "& CityList (4) End Sub

Une modification que j'ai apportée au code ci-dessus est que nous n'avons pas décidé de la limite inférieure et de la limite supérieure d'une variable de tableau, et que nous avons utilisé le nombre de tableaux de fonctions ARRAY commençant à 0, pas à 1.

C'est donc la raison pour laquelle nous avons mentionné les valeurs comme CityList (0), ClityList (1), CityList (2), CityList (3) et CityList (4).

Exécutez maintenant le code via la touche de raccourci Excel F5 ou manuellement. Nous obtenons le même résultat que celui obtenu avec le code précédent.

Exemple # 2

Tableau de chaînes VBA avec fonctions LBOUND et UBOUND

Si vous ne souhaitez pas afficher toutes les listes de villes dans une seule boîte de message, vous devez inclure des boucles, définissez une autre variable pour les boucles.

Maintenant, pour inclure la boucle FOR NEXT, nous ne savons pas combien de fois nous devons exécuter le code. Dans ce cas, on peut le décider comme 5 fois, mais ce n'est pas la bonne façon d'aborder le problème. Alors que diriez-vous de l'idée de l'identificateur automatique de longueur de tableau de niveau inférieur et supérieur ???

Lorsque nous ouvrons la boucle FOR NEXT, nous décidons généralement que la longueur de la boucle est de 1 à 5 ou de 1 à 10 selon la situation. Au lieu d'entrer les nombres manuellement, utilisons les fonctions LBOUND et UBOUND pour décider automatiquement de la valeur inférieure et de la valeur supérieure.

Pour LBound et Ubound, j'ai fourni un nom de tableau, c'est-à-dire CityList. VBA LBound identifie la valeur inférieure de la variable de tableau et la fonction VBA UBound identifie la valeur supérieure de la variable de tableau.

Maintenant, affichez la valeur dans la boîte de message, au lieu d'insérer le numéro de série, laissez la variable de boucle «k» prend automatiquement la valeur du tableau.

Code:

Sub String_Array_Example1 () Dim CityList () As Variant Dim k As Integer CityList = Array ("Bangalore", "Mumbai", "Kolkata", "Hyderabad", "Orissa") For k = LBound (CityList) To UBound (CityList) MsgBox CityList (k) Suivant k End Sub

Maintenant, la boîte de message affichera chaque nom de ville séparément.

Exemple # 3

Tableau de chaînes VBA avec fonction Split

Supposons maintenant que vous avez des noms de villes comme ci-dessous.

Bangalore, Mumbai, Kolkata, Hydrabad, Orissa

In this case, all the cities are combined together with the colon separating each city. In such cases, we need to use the SPLIT function to separate each city.

For Expression, supply the city list.

Code:

Sub String_Array_Example2() Dim CityList() As String Dim k As Integer CityList = Split("Bangalore;Mumbai;Kolkata;Hydrabad;Orissa", For k = LBound(CityList) To UBound(CityList) MsgBox CityList(k) Next k End Sub

The next argument is “Delimiter,” i.e., what is the one character that is separating each city from other cities. In this case, “Colon.”

Code:

Sub String_Array_Example2() Dim CityList() As String Dim k As Integer CityList = Split("Bangalore;Mumbai;Kolkata;Hydrabad;Orissa", ";") For k = LBound(CityList) To UBound(CityList) MsgBox CityList(k) Next k End Sub

Désormais, les valeurs de division de la fonction SPLIT déterminent également la longueur de tableau la plus élevée.

Choses dont il faut se rappeler

  • LBOUND et UBOUND sont des fonctions permettant de déterminer les longueurs des tableaux.
  • La fonction ARRAY peut contenir de nombreuses valeurs pour une variable déclarée.
  • Une seule fois si vous souhaitez utiliser la fonction ARRAY, ne décidez pas de la longueur du tableau.

Articles intéressants...