Arr(15) = Array(1, 10, 11, 10, 11, 12, 11, 10, 11, 10, 1)
其属性为
  - : Arr(15) :  : Variant/Variant(0 to 10)还有一种数组是
Dim oArr(15, 2) As Double
+ : oArr :  : Double(0 to 15, 0 to 2)如何判断这两种数组结构,谢谢。

解决方案 »

  1.   

    Dim a
    a = Array(1, 2, 3, 4, 5)
    Dim b() As Long
    ReDim b(0)Debug.Print TypeName(a), TypeName(a(0)), TypeName(b), TypeName(b(0))code]结果
    [code=VB]Variant()   Integer     Long() Long只有变体可以用array赋值,Variant可以有子类型
      

  2.   

    如何判断数组为变体数组?
    --------------------------------------------------------
    msgbox typename(Arr)
      

  3.   

    哈哈,来迟了.不过还有一个Vartype函数,可以确定变量中是什么类型的数据:VarType 函数
          返回一个 Integer,指出变量的子类型。语法VarType(varname)必要的 varname 参数是一个 Variant,包含用户定义类型变量之外的任何变量。返回值常数 值 描述 
    vbEmpty 0 Empty(未初始化) 
    vbNull 1 Null(无有效数据) 
    vbInteger 2 整数 
    vbLong 3 长整数 
    vbSingle 4 单精度浮点数 
    vbDouble 5 双精度浮点数 
    vbCurrency 6 货币值 
    vbDate 7 日期 
    vbString 8 字符串 
    vbObject 9 对象 
    vbError 10 错误值 
    vbBoolean 11 布尔值 
    vbVariant 12 Variant(只与变体中的数组一起使用) 
    vbDataObject 13 数据访问对象 
    vbDecimal 14 十进制值 
    vbByte 17 位值 
    vbUserDefinedType 36 包含用户定义类型的变量 
    vbArray 8192 数组 
    注意 这些常数是由 Visual Basic 为应用程序指定的。这些名称可以在程序代码中到处使用,以代替实际值。说明VarType 函数自身从不对 vbArray 返回值。VarType 总是要加上一些其他值来指出一个具体类型的数组。常数 vbVariant 只与 vbArray 一起返回,以表明 VarType 函数的参数是一个 Variant 类型的数组。例如,对一个整数数组的返回值是 vbInteger + vbArray,或 8194。如果一个对象有缺省属性,则 VarType (object) 返回对象缺省属性的类型。
      

  4.   

    楼上两位正解VarType或TypeName函数