VBA – Longitud/tamaño de un Array
In this Article
Este tutorial le enseñará cómo obtener la longitud (tamaño) de un Array en VBA.
Obtener la longitud de un Array
Para obtener la longitud de un Array, necesitas conocer las posiciones inicial y final del mismo. Puedes hacer esto con las funciones UBound y LBound de VBA.
Funciones LBound y UBound
Este procedimiento demuestra cómo utilizar las funciones UBound y LBound en un array de una sola dimensión:
Sub UBoundLBound()
Dim exArr(1 To 4) As String
MsgBox UBound(exArr)
MsgBox LBound(exArr)
End Sub
Restando los dos te dará la longitud del array(UBound – LBound +1).
Función obtener longitud de un array
Esta función calculará el tamaño (longitud) de un Array unidimensional:
Public Function Obtener_longitud_array(a As Variant) As Long
If IsEmpty(a) Then
Obtener_longitud_array = 0
Else
Obtener_longitud_array = UBound(a) - LBound(a) + 1
End If
End Function
Obtener el tamaño de un array 2D
Esta función calculará el número de posiciones en un array bidimensional:
Sub probar_tamano_array()
Dim arr2D(1 To 4, 1 To 4) As Long
MsgBox Obtener_tamano_array_2D(arr2D)
End Sub
Public Function Obtener_tamano_array_2D(a As Variant) As Long
Dim x As Long, y As Long
If IsEmpty(a) Then
Obtener_tamano_array_2D = 0
Else
x = UBound(a, 1) - LBound(a, 1) + 1
y = UBound(a, 2) - LBound(a, 2) + 1
Obtener_tamano_array_2D = x * y
End If
End Function