阿杰 发表于 2012-10-23 08:50:20

判断vb数组的维数是多少

Public Function ArrayRange(MyArray As Variant) As Integer
    '返回值:0-该变量不是数组,1-该变量为1维数组,2-该变量为2维数组,.....60-该变量为60维数组
Dim i As Integer, RangeNum As Integer, Temp As Integer
    On Error GoTo ErrHandle
    If Not IsArray(MyArray) Then    '首先判断传入的变量是否为数组
      ArrayRange = 0
      Exit Function
    End If
    For i = 1 To 60    '在VB中数组最大维数是60
      Temp = UBound(MyArray, i)    '用UBound函数判断某一维的上界,如果大于数组的实际维数时将产生产生超出范围错误
      RangeNum = i
    Next i
    ArrayRange = RangeNum
    Exit Function
ErrHandle:
    ArrayRange = RangeNum
End Function

Private Sub Form_Load()
Dim a(4, 5, 6), i, n
    Debug.Print ArrayRange(a)
    End
End Sub

upring 发表于 2015-4-28 09:41:49

很好 支持一下
页: [1]
查看完整版本: 判断vb数组的维数是多少