vba array size code example

Example 1: excel vba determine number of elements in an array

'Since VBA arrays can have ANY integer value (from -2147483648 to 
'2147483647) for the lower index in the range for a rank,
'the only sure fire way to determine how many elements is in the array
'is to calculate the value:

MsgBox UBound(Arr) - LBound(Arr) + 1		'<--for elems in 1D array

MsgBox UBound(Arr, 1) - LBound(Arr, 1) + 1	'<--for rows in 2D array
MsgBox UBound(Arr, 2) - LBound(Arr, 2) + 1	'<--for cols in 2D array

Example 2: vba array length

Dim YourArray
YourArray = Array("a", "b", "c")
Debug.Print UBound(YourArray) - LBound(YourArray) + 1

Example 3: vba array dimensions

Public Function ArrayDimensions(ByRef Arr As Variant) As Integer
    Dim indDim As Integer
    Dim result As Integer
    On Error Resume Next
    Do
        indDim = indDim + 1
        result = UBound(Arr, indDim)
    Loop Until err.Number <> 0
    ArrayDimensions = indDim - 1
End Function

Tags:

Vb Example