Подобный подход к ответу фейхтхит здесь, так как я предполагаю, что это то, что вы хотите, а не размер указанного измерения.
Function NumDimensions(arr)
Dim dimensions : dimensions = 0
On Error Resume Next
Do While Err.number = 0
dimensions = dimensions + 1
UBound arr, dimensions
Loop
On Error Goto 0
NumDimensions = dimensions - 1
End Function
Тогда называем это так:
Dim test(9, 5, 4, 3, 9, 1, 3, 5)
NumDimensions(test)
даст вам значение 8
Это немного глупо, но это будет делать то, что вы просили.