如何获取数组的维数

版权声明:本文为博主原创文章,转载请注明出处。 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

猜你喜欢

转载自blog.csdn.net/taller_2000/article/details/84868857
今日推荐