Obtenir la longueur du tableau dans VBA

Glen Alfaro 30 janvier 2023
  1. Obtenez la différence entre l’index le plus élevé et le plus bas pour obtenir la longueur du tableau dans VBA
  2. Utilisez la fonction de feuille de calcul COUNTA pour obtenir la longueur du tableau dans VBA
Obtenir la longueur du tableau dans VBA

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 

Article connexe - VBA Array