Función VBA UBound - ¿Cómo usar UBound en Excel VBA?

Tabla de contenido

UBOUND o también conocida como Upper Bound, esta función en VBA se usa con su función opuesta que LBOUND o también conocida como función Lower Bound, el uso de esta función es para definir la longitud de una matriz en un código y como su nombre sugiere UBOUND se utiliza para definir el límite superior de la matriz.

Función VBA UBOUND

¿Cómo se sabe la longitud máxima de la matriz en Excel? Sí, podemos ver y actualizar manualmente la longitud máxima de la matriz, pero si lo está haciendo durante todo este tiempo, hoy es el final porque tenemos una función llamada UBOUND para determinar la longitud máxima de la matriz. Siga este artículo para tener más conocimientos sobre la función UBOUND en Excel VBA.

UBOUND son las siglas de Upper Bound. A menudo, en la codificación, es posible que necesitemos encontrar la longitud máxima de la matriz. Por ejemplo, MyResult (24) significa que el nombre de la matriz MyResult contiene 25 valores porque la matriz comienza desde cero, no desde uno. Entonces 24 significa +1, es decir, un total de 25 valores.

Aquí la longitud máxima de la matriz es 24. En lugar de suministrar la longitud de la matriz manualmente, podemos usar la función incorporada UBOUND para obtener la longitud máxima de la matriz.

El código es: UBOUND (MyResult), es decir, UBOUND (24)

Entonces, la función Excel VBA UBOUND representa el límite superior del tamaño de la matriz.

¿Cómo usar la función VBA UBound en Excel?

La fórmula de VBA UBOUND es muy simple porque solo tiene dos parámetros.

UBound (Arrayname (, Dimension))
  • Nombre de matriz: este es el nombre de la matriz que hemos definido. Por ejemplo, en el ejemplo anterior, MyResult es el nombre de la matriz.
  • (Dimensión): si la matriz tiene más de una dimensión, entonces debemos especificar la dimensión de la matriz. Si lo ignora, tratará la primera dimensión de forma predeterminada.

La función Excel VBA UBOUND es muy útil para determinar la longitud de los bucles mientras se ejecutan los bucles.

Ejemplos de función UBOUND en Excel VBA

A continuación se muestran los ejemplos prácticos de la función VBA UBound.

Ejemplo 1

Para comenzar el procedimiento, déjeme escribir el código simple. Siga los pasos a continuación para aplicar la función VBA UBOUND.

Paso 1: Inicie la macro de Excel y defina el nombre de la variable.

Código:

Sub Ubound_Example1 () Dim ArrayLength (0 a 4) como cadena

Paso 2: asignaré valores a este nombre de matriz.

Código:

Sub Ubound_Example1 () Dim ArrayLength (0 a 4) As String ArrayLength (0) = "Hola" ArrayLength (1) = "Amigo" ArrayLength (2) = "Bienvenido" ArrayLength (3) = "a" ArrayLength (4) = End Sub "Clase VBA"

Paso 3: Ahora, usando un cuadro de mensaje con la función UBOUND, veremos la longitud máxima de la matriz.

Código:

Sub Ubound_Example1 () Dim ArrayLength (0 a 4) As String ArrayLength (0) = "Hola" ArrayLength (1) = "Amigo" ArrayLength (2) = "Bienvenido" ArrayLength (3) = "a" ArrayLength (4) = "Clase VBA" MsgBox "La longitud del límite superior es:" & UBound (ArrayLength) End Sub

Paso 4: Ejecute este código presionando la tecla F5, o también puede ejecutar el código manualmente, como se muestra en la siguiente captura de pantalla.

El cuadro de mensaje le mostrará el número de límite superior de la matriz se mostrará en el cuadro de mensaje.

De esta manera, usando la función Excel VBA UBOUND, podemos obtener la longitud del límite superior de una matriz.

Ejemplo n. ° 2: uso de la función UBOUND de Excel VBA para copiar los datos

Suponga que tiene una lista de datos en una hoja de Excel como la siguiente.

Estos datos se actualizarán a diario y debe copiarlos en la nueva hoja cada vez que se actualice. Actualizar esto manualmente llevará una cantidad considerable de tiempo en su lugar de trabajo, pero le mostraré un código de macro simple para automatizar esto.

Paso 1: Cree una macro y defina la variable de matriz.

Código:

Sub Ubound_Example2 () Dim DataRange () como variante End Sub

Paso 2: Ahora active la hoja de datos haciendo referencia a su nombre.

Código:

Sub Ubound_Example2 () Dim DataRange () como hojas de variantes ("Hoja de datos"). Activar End Sub

Paso 3: Ahora asigne el rango de datos a la variable definida usando el siguiente código.

Código:

Sub Ubound_Example2 () Atenuar DataRange () como hojas de variantes ("Hoja de datos"). Activar DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) End Sub

Step 4: Now add a new worksheet to the workbook.

Code:

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

Step 5: Now add the data to the newly added sheet by using the Excel VBA UBOUND function in the form of the below code.

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 End Sub

The above code will offset the cells by the maximum length returned by the UBOUND function, and this range will be equal to the value of the array name “DataRange.

Step 6: Now run this code. It will paste the value to the new sheet.

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 () Atenuar DataRange () como hojas variantes ("Hoja de datos"). Activar DataRange = Range ("A2", Range ("A1"). End (xlDown) .End (xlToRight)) Worksheets.Add Range (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Borrar DataRange End Sub

Cosas para recordar

  • UBOUND devuelve la longitud máxima de la matriz.
  • La matriz comienza desde 0, no desde 1.
  • Si desea el valor más bajo de la matriz, debe usar VBA LBOUND.
  • Si la matriz tiene más de una dimensión, también debe especificar el número de dimensión.

Articulos interesantes...