版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/taller_2000/article/details/84868857
Dim a(x, y)
将声明创建一个二维数组,在VBA中并没有提供可以直接获取数组维数的函数和方法。
在VBA(VB)中数组最大维数为60,因此可以使用捕获错误的方法来获取数组的维数。
Sub ArrayDimension()
Dim i, b
Dim a(4, 4, 4, 4, 4)
On Error Resume Next
For i = 1 To 60
Err.Clear
b = UBound(a, i)
If Err.Number = 9 Then
Debug.Print "Array dimension is " & i - 1
Exit Sub
End If
Next i
End Sub
代码解析:
第3行代码声明一个5维数组。
第4行代码忽略运行时错误继续执行后续代码。
第6行代码清除错误。
第7行代码读取数组第i维的上届,如果超过数组的最大维数,则会产出错误号为9的运行时错误。
第8行到第11行代码捕获错误,输出结果。
第10行代码结束程序执行。
代码运行结果如下。
Array dimension is 5