VBA UBOUND

UBOUND ou également connue sous le nom de Upper Bound, cette fonction en VBA est utilisée avec sa fonction opposée que LBOUND ou également connue sous le nom de fonction Lower Bound, l'utilisation de cette fonction consiste à définir la longueur d'un tableau dans un code et comme son nom l'indique UBOUND est utilisé pour définir la limite supérieure du tableau.

Fonction VBA UBOUND

Comment dire la longueur maximale du tableau dans Excel? Oui, nous pouvons voir et mettre à jour manuellement la longueur maximale du tableau, mais si vous faites tout cela, alors qu'aujourd'hui est la fin car nous avons une fonction appelée UBOUND pour déterminer la longueur maximale du tableau. Suivez cet article pour avoir plus de connaissances sur la fonction UBOUND dans Excel VBA.

UBOUND signifie Upper Bound. Souvent, dans le codage, nous pouvons avoir besoin de trouver la longueur maximale du tableau. Par exemple, MyResult (24) signifie que le nom du tableau MyResult contient 25 valeurs car le tableau commence à zéro, pas à un. Donc 24 signifie +1, c'est-à-dire au total 25 valeurs.

Ici, la longueur maximale du tableau est de 24, au lieu de fournir la longueur du tableau manuellement, nous pouvons utiliser la fonction intégrée UBOUND pour obtenir la longueur maximale du tableau.

Le code est: UBOUND (MyResult)  ie UBOUND (24)

La fonction Excel VBA UBOUND représente donc la limite supérieure de la taille du tableau.

Comment utiliser la fonction VBA UBound dans Excel?

La formule de VBA UBOUND est très simple car elle n'a que deux paramètres.

UBound (Arrayname [, Dimension])
  • Nom du tableau: il s'agit du nom du nom du tableau que nous avons défini. Par exemple, dans l'exemple ci-dessus, MyResult est le nom du tableau.
  • [Dimension]: Si le tableau a plus d'une dimension, nous devons spécifier la dimension du tableau. Si vous l'ignorez, il traitera la première dimension par défaut.

La fonction Excel VBA UBOUND est très utile pour déterminer la longueur des boucles lors de l'exécution des boucles.

Exemples de fonction UBOUND dans Excel VBA

Vous trouverez ci-dessous les exemples pratiques de la fonction VBA UBound.

Vous pouvez télécharger ce modèle de fonction VBA UBound ici - Modèle de fonction VBA UBound

Exemple 1

Pour commencer la procédure, laissez-moi écrire le code simple. Suivez les étapes ci-dessous pour appliquer la fonction VBA UBOUND.

Étape 1: Démarrez la macro Excel et définissez le nom de la variable.

Code:

 Sub Ubound_Example1 () Dim ArrayLength (0 à 4) As String 

Étape 2: J'attribuerai des valeurs à ce nom de tableau.

Code:

 Sub Ubound_Example1 () Dim ArrayLength (0 To 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = Sous-marin de fin "Classe VBA" 

Étape 3: En utilisant maintenant une boîte de message avec la fonction UBOUND, nous verrons la longueur maximale du tableau.

Code:

 Sub Ubound_Example1 () Dim ArrayLength (0 To 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "to" ArrayLength (4) = "VBA Class" MsgBox "La longueur de la limite supérieure est:" & UBound (ArrayLength) End Sub 

Étape 4: Exécutez ce code, en appuyant sur la touche F5 ou vous pouvez également exécuter le code manuellement, comme indiqué dans la capture d'écran ci-dessous.

la boîte de message vous montrera le numéro de limite supérieure du tableau sera affiché dans la boîte de message.

Comme cela, en utilisant la fonction Excel VBA UBOUND, nous pouvons obtenir la longueur de la limite supérieure d'un tableau.

Exemple # 2 - Utilisation de la fonction Excel VBA UBOUND pour copier les données

Supposons que vous ayez une liste de données dans une feuille Excel comme celle ci-dessous.

Ces données seront mises à jour quotidiennement et vous devez copier ces données dans la nouvelle feuille à chaque mise à jour. La mise à jour manuelle prendra un temps considérable sur votre lieu de travail, mais je vais vous montrer un code de macro simple pour automatiser cela.

Étape 1: Créez une macro et définissez la variable de tableau.

Code:

 Sub Ubound_Example2 () Dim DataRange () As Variant End Sub 

Étape 2: Activez maintenant la fiche technique en vous référant à son nom.

Code:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Activer End Sub 

Étape 3: Attribuez maintenant la plage de données à la variable définie en utilisant le code ci-dessous.

Code:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Activez DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) End Sub 

Étape 4: Ajoutez maintenant une nouvelle feuille de calcul au classeur.

Code:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Activez DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) Worksheets.Add End Sub 

Étape 5: Ajoutez maintenant les données à la feuille nouvellement ajoutée à l'aide de la fonction Excel VBA UBOUND sous la forme du code ci-dessous.

Code:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Activer DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) Worksheets.Add Range (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange End Sub 

Le code ci-dessus décalera les cellules de la longueur maximale renvoyée par la fonction UBOUND et cette plage sera égale à la valeur du nom du tableau « DataRange »

Étape 6: Exécutez maintenant ce code, il collera la valeur dans la nouvelle feuille.

This code is a dynamic one because even when the data increases horizontally and vertically it will automatically take the range. Now I will add some dummy lines to the data.

Now I will once again run this code, it will now add the newly added lines as well.

Code:

 Sub Ubound_Example2()     Dim DataRange() As Variant Sheets("Data Sheet").Activate DataRange = Range("A2", Range("A1").End(xlDown).End(xlToRight)) Worksheets.Add Range(ActiveCell, ActiveCell.Offset( UBound ( DataRange, 1 ) - 1, UBound ( DataRange, 2 ) - 1)) = DataRange Erase DataRange End Sub 

Things to Remember

  • UBOUND returns the maximum length of the array.
  • The array starts from 0, not from 1.
  • If you want the lower value of the array then you need to use VBA LBOUND.
  • If the array has more than one dimension then you need to specify the dimension number as well.