Obtenir la longueur du tableau dans VBA
- Obtenez la différence entre l’index le plus élevé et le plus bas pour obtenir la longueur du tableau dans VBA
-
Utilisez la fonction de feuille de calcul
COUNTA
pour obtenir la longueur du tableau dans VBA
![Obtenir la longueur du tableau dans VBA](/img/VBA/feature-image---get-the-length-of-an-array-in-vba.webp)
Les tableaux sont des outils populaires en programmation informatique dans lesquels vous pouvez enregistrer les informations nécessaires pour une utilisation ultérieure ou lors de l’exécution du code. Presque tous les langages de programmation informatique, les tableaux sont inclus dans leur bibliothèque puisque la nécessité de sauvegarder et de récupérer des informations est parfois inévitable.
En VBA, obtenir la longueur d’un tableau signifie compter le nombre d’éléments présents à l’intérieur du tableau. Pour ce faire, vous devez connaître les éléments les plus bas et les plus élevés de l’indice. Ensuite, la différence entre le plus élevé et le plus bas serait la longueur du tableau.
En outre, vous pouvez utiliser la fonction de feuille de calcul COUNTA
pour obtenir les mêmes informations.
Ce didacticiel utilise la différence d’index la plus élevée/la plus faible et la fonction de feuille de calcul COUNTA
pour obtenir la longueur d’un tableau VBA.
Obtenez la différence entre l’index le plus élevé et le plus bas pour obtenir la longueur du tableau dans VBA
La logique de cette méthode est que nous pouvons obtenir la longueur du tableau en soustrayant l’indice le plus bas à l’indice le plus élevé puis en ajoutant 1. Nous ajoutons 1 car il est nécessaire d’inclure l’indice le plus bas dans la longueur du tableau.
Le bloc de code ci-dessous illustrera l’obtention de la longueur du tableau d’un tableau d’un tableau de longueur fixe. Notez qu’obtenir uniquement l’index le plus élevé pour obtenir la longueur du tableau n’est pas toujours correct car il existe des cas où l’index le plus bas n’est pas égal à 0 et peut commencer avec des index différents.
Sub ArrayLengthDemo()
Dim stringArr(5 To 9) As String
stringArr(5) = "Glen"
stringArr(6) = "Yumi"
stringArr(7) = "Myla"
stringArr(8) = "Katrina"
stringArr(9) = "Jose"
Debug.Print "The array length of stringArr is " UBound(stringArr) - LBound(stringArr) + 1
End Sub
Sortie ArrayLengthDemo
:
The array length of stringArr is 5
Le bloc de code ci-dessous montrera comment obtenir la longueur du tableau d’un tableau d’un tableau dynamique.
Sub ArrayLengthDemo()
Dim StringArr As Variant
StringArr = Array("Glen", "Yumi", "Katrina", "Myla", "Jose")
Debug.Print "The array length of StringArr is "; UBound(StringArr) - LBound(StringArr) + 1
End Sub
Sortie ArrayLengthDemo
:
The array length of stringArr is 5
L’implémentation de fonctions pour obtenir la longueur du tableau sur le code ci-dessous sera démontrée. Cela sera utile si le besoin d’obtenir la longueur du tableau est récurrent.
De plus, le code ci-dessous a une logique supplémentaire pour détecter si le tableau à mesurer est nul.
Public Function GetArrayLength(arr As Variant) As Integer
If IsEmpty(arr) Then
GetArrayLength = 0
Else
GetArrayLength = UBound(arr) - LBound(arr) + 1
End If
End Function
Sub GetArrayLengthDemo1()
Dim stringArr(5 To 9) As String
stringArr(5) = "Glen"
stringArr(6) = "Yumi"
stringArr(7) = "Myla"
stringArr(8) = "Katrina"
stringArr(9) = "Jose"
Debug.Print "The array length is " & GetArrayLength(stringArr)
End Sub
Sub GetArrayLengthDemo2()
Dim NullArr As Variant
Debug.Print "The array length is " & GetArrayLength(NullArr)
End Sub
Sortie de GetArrayLengthDemo1
:
The array length is 5
Sortie de GetArrayLengthDemo2
:
The array length is 0
Utilisez la fonction de feuille de calcul COUNTA
pour obtenir la longueur du tableau dans VBA
Un tableau est un ensemble d’éléments structurés de manière unidimensionnelle ou multidimensionnelle. Vous pouvez utiliser la fonction de feuille de calcul COUNTA
pour compter ces éléments dans une seule ligne de code.
Le bloc de code ci-dessous montre comment obtenir la longueur du tableau à l’aide de la fonction de feuille de calcul COUNTA
.
Syntaxe:
WorksheetFunction.CountA([ arrayName ])
Paramètre:
[arrayName] |
le tableau à mesurer |
La fonction de feuille de calcul COUNTA
est limitée à 30 éléments. S’il s’agit d’un grand tableau, la première méthode est suggérée.
Sub ArrayLengthDemo()
Dim stringArr(5 To 9) As String
stringArr(5) = "Glen"
stringArr(6) = "Yumi"
stringArr(7) = "Myla"
stringArr(8) = "Katrina"
stringArr(9) = "Jose"
Debug.Print "The array length of stringArr is " & WorksheetFunction.CountA(stringArr)
End Sub
Sortie ArrayLengthDemo
:
The array length of stringArr is 5
Sub ArrayLengthDemo()
Dim StringArr As Variant
StringArr = Array("Glen", "Yumi", "Katrina", "Myla", "Jose")
Debug.Print "The array length of StringArr is " & WorksheetFunction.CountA(stringArr)
End Sub
Sortie ArrayLengthDemo
:
The array length of stringArr is 5