在Excel中数组向单元格传递数据的方法如下:
bbb = Array(1, 2, 3):Sheet3.Range("a1:c1")=bbb  调试通过
而是要将其变为
    bbbb = Array(Array(1, 2, 3), Array(2, 3, 4))
     Sheet3.Range("a1:c2") = bbbb 调试不通过
须改成
bbb = [{1,2,3;2,3,4}]
    Sheet3.Range("a1:c2") = bbb 调试通过
用debug.print检查,两种方法区别如下
   Debug.Print LBound(bbb)结果为1 , UBound(bbb) 结果为2
   Debug.Print LBound(bbb)结果为0 , UBound(bbb) 结果为1
小结
  数组向单元格传递数据
   dim bbb(1 to n) ---成立
   dim bbbb(0 to n) ---不成立
在此请问各位的问题:
array与[{}]组成数组的区别??
   dim bbb(1 to n)  --- 依据是什么?
   dim bbbb(0 to n) --- 依据是什么?

解决方案 »

  1.   

    [{1,2,3;2,3,4}] 这种多用于asp,在VB中常用Array
      

  2.   

    应该设定 Option Base 1/0 明确指明VB中的数组是基于1还是基于0 
      

  3.   

    在VB6.0里面定义数组有二种方式
    1。隐式
    dim strArrary(3) as string
    2。显式
    dim strArrary(0 to 2) as string
    ============================================
    bbbb = Array(Array(1, 2, 3), Array(2, 3, 4)) 
    你这种写法本来就不规范如果需要定义多维数组则
    dim strArrary(3,3) as string
    或者在未知数组大小的情况下
    dim strArrary()
    使用时重新定义数组大小ReDim strArrary(??)注意:如是是隐式定义数组则,系统默认数组下标开始为0
    当显式定义时,可以设置数组下标从多少开始