假设有一个数组A()
可以有如下表达式:
UBound(A, 1) = UBound(A) '返回第一维的数量
UBound(A, 2) '返回第二维的数量,以此类推
问题:
假设A()有A(0,0);A(0,1);A(0,2);A(0,3)
A(1,0);A(1,1);A(1,2)则
UBound(A, 1) = UBound(A) = 2
那UBound(A, 2)返回的数量应该是3还是4呢?

解决方案 »

  1.   

    UBound 函数      返回一个 Long 型数据,其值为指定的数组维可用的最大下标。语法UBound(arrayname[, dimension])UBound 函数的语法包含下面部分:部分 描述 
    arrayname 必需的。数组变量的名称,遵循标准变量命名约定。 
    dimension 可选的;Variant (Long)。指定返回哪一维的上界。1 表示第一维,2 表示第二维,如此等等。如果省略 dimension,就认为是 1。 
    说明UBound 函数与 LBound 函数一起使用,用来确定一个数组的大小。LBound 用来确定数组某一维的上界。对具有下述维数的数组而言,UBound 的返回值见下表:Dim A(1 To 100, 0 To 3, -3 To 4)语句 返回值 
    UBound(A, 1) 100 
    UBound(A, 2) 3 
    UBound(A, 3) 4 
      

  2.   

    UBound 函数示例
    该示例使用 UBound 函数,确定数组的指定维的最大可用下标。Dim Upper
    Dim MyArray(1 To 10, 5 To 15, 10 To 20)   '声明数组变量。
    Dim AnyArray(10)
    Upper = UBound(MyArray, 1)   '返回 10。
    Upper = UBound(MyArray, 3)   '返回 20。
    Upper = UBound(AnyArray)   '返回 10。
      

  3.   

    返回一个 Long 型数据,其值为指定的数组维可用的最大下标。
    返回多少是你前面声明的时候决定的
      

  4.   

    二维数组A(n,m)只有一个定义,ubound(A,1)返回n,ubound(A,2)返回m。如果按照定义,应该你的第二个还有A(1,3)的,否则就跟你的第一个不是同一个数组。简单问题不要复杂化哦
      

  5.   

    ubound返回数组某一维的最大上标,对于你的ubound(A,2)当然是3。
      

  6.   

    没赋值不等于数组元素不存在啊 这哥们真逗
    Dim AnyArray(10)
    按你的逻辑,这个刚定义的数组里一个元素都没有 ....
      

  7.   

    ubound不是返回数组最大值么?