VBA Declare Array

Tableau de déclaration Excel VBA

La déclaration d'un tableau en VBA est très similaire à celle des variables, elle est effectuée par la même instruction dim ou une instruction statique publique ou privée, la seule différence entre la déclaration d'un tableau et la déclaration d'une variable est que lors de la déclaration d'un tableau, nous devons fournir une taille d'un tableau qui est la limite supérieure du tableau et la limite inférieure du tableau.

Dans le code VBA, nous pouvons déclarer un seul tableau de variables pouvant contenir le nombre de variables au lieu de déclarer des variables uniques. Cela peut aider à réduire le nombre de lignes dans le code.

Le tableau est une sorte de variable qui peut contenir plus d'une valeur, contrairement aux variables régulières qui ne peuvent contenir qu'une seule valeur à la fois. Le tableau est une version avancée de la déclaration de variables dans VBA. Par exemple, imaginez une situation dans laquelle vous souhaitez attribuer 5 noms d'étudiants à des variables et, en pratique générale, nous déclarons cinq variables pour les cinq variables que nous attribuons individuellement aux noms d'étudiants, ci-dessous, l'exemple de code de la même chose.

Code:

 Sub Array_Example () Dim Student1 As String Dim Student2 As String Dim Student3 As String Dim Student4 As String Dim Student5 As String End Sub 

Au lieu de déclarer autant de variables, que pensez-vous de l'idée de déclarer un seul tableau de variables pouvant contenir tous les noms d'étudiants?

Oui, cela est possible en déclarant le tableau dans VBA.

Exemples

Vous pouvez télécharger ce modèle Excel de tableau de déclaration VBA ici - Modèle Excel de tableau de déclaration de VBA

Exemple 1

Pour déclarer que nous n'avons pas besoin de faire de codage VBA spécial, nous devons plutôt suivre des concepts simples.

Commencez par lancer la sous-procédure.

Code:

 Sub Array_Example () End Sub 

Maintenant, comme d'habitude, déclarez une variable sous forme de chaîne.

Code:

 Sub Array_Example () Dim Student As String End Sub 

Une fois la variable déclarée, assurez-vous maintenant du nombre de valeurs qu'elle doit contenir. Dans ce cas, je veux stocker les noms de cinq étudiants, donc maintenant nous devons fixer la taille du tableau, c'est-à-dire 1 à 5. Fournissez la même chose à la variable entre crochets.

Code:

 Sub Array_Example () Dim Student (1 To 5) As String End Sub 

Maintenant, pour cette variable unique, nous pouvons stocker 5 noms d'étudiants.

Code:

 Sub Array_Example () Dim Student (1 To 5) As String Student (1) = "John" Student (2) = "Peter" Student (3) = "Ricky" Student (4) = "Michael" Student (5) = "Anderson" End Sub 

Regardez combien de lignes nous avons réduit en déclarant la variable sous forme de tableau. C'est une façon de faire que nous pouvons encore raccourcir ce code en l'enfermant dans les boucles de VBA.

Maintenant, pour un exemple, les cinq mêmes noms que j'ai dans les cellules de la feuille de calcul.

Maintenant, je veux afficher ces nombres dans la boîte de message dans VBA, ok déclarons une autre variable pour les boucles en tant que type de données Integer.

Code:

 Sub Array_Example () Dim Student (1 To 5) As String Dim K As Integer End Sub 

Comme d'habitude, j'ai conservé la variable de tableau de 1 à 5 tailles.

Maintenant, ouvrez la boucle FOR NEXT dans VBA et comme nous avons cinq noms, entrez la limite de 1 à 5.

Code:

 Sub Array_Example () Dim Student (1 To 5) As String Dim K As Integer For K = 1 To 5 Next K End Sub 

Pour attribuer des valeurs à une variable de tableau, nous n'avons pas besoin de suivre la méthode précédente pour montrer Student (1), Student (2) comme ceci pour la variable «k» de boucles d'approvisionnement de position de nombres.

Code:

 Sub Array_Example () Dim Student (1 To 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Next K End Sub 

Pour cette variable de tableau, nous avons besoin des valeurs de la feuille de calcul, donc en utilisant la propriété CELLS, obtenez les valeurs de la feuille de calcul.

Code:

 Sub Array_Example () Dim Student (1 To 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Cells (K, 1) .Value Next K End Sub 

Maintenant, dans la boîte de message, affichez la valeur de la variable de tableau.

Code:

 Sub Array_Example () Dim Student (1 To 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Cells (K, 1) .Value MsgBox Student (K) Next K End Sub 

Maintenant, exécutez le code, dans la boîte de message, nous verrons le prénom. Appuyez à nouveau sur Ok pour voir le deuxième nom. Comme ça en appuyant sur Ok, nous pouvons voir les cinq noms.

Exemple # 2 - Tableaux à deux dimensions

Nous avons vu ci-dessus comment fonctionne le tableau, maintenant nous allons voir les tableaux dimensionnels. Les tableaux bidimensionnels se concentrent sur les lignes et les colonnes.

Dans l'exemple ci-dessus, nous avons déterminé la taille du tableau entre 1 et 5, ce qui se concentre sur les lignes ou les colonnes.

En utilisant des tableaux à deux dimensions, nous pouvons nous concentrer à la fois sur les lignes et les colonnes. Pour cela, nous devons entourer deux boucles.

Tout d'abord, définissez la variable puis tard nous déciderons de la taille du tableau.

Code:

 Sub Two_Array_Example () Dim Student As String End Sub 

Tout d'abord, décidez de la taille de la ligne puis de la longueur de la colonne.

Code:

 Sub Two_Array_Example () Dim Student (1 To 5, 1 To 3) As String End Sub 

For this, I have structured the data for student name, marks and grade status.

Now come back to the coding window.

Declare two more variables for a loop.

Code:

 Sub Two_Array_Example() Dim Student(1 To 5, 1 To 3) As String Dim K As Integer , J As Integer End Sub 

Now enclose the loop as shown below.

Code:

 Sub Two_Array_Example() Dim Student(1 To 5, 1 To 3) As String Dim k As Integer , J As Integer For k = 1 To 5 For J = 1 To 3 Worksheets("Student List").Select Student(k, J) = Cells(k, J).Value Worksheets("Copy Sheet").Select Cells(k, J).Value = Student(k, J) Next J Next k End Sub 

What this will do is it will copy the data from the “Student List” sheet and paste in “Copy Sheet”.

Things to Remember

  • The array is a vast concept, this is just an introductory part.
  • You need advanced coding skills to understand the array declaration.
  • The more you use arrays in your code the more you will get used to it.