dim a() as string
redim a(0 to 0,0 to 1)
redim preserve a(0 to 10,0 to 1)
这样会报错。。说下标越界

解决方案 »

  1.   

    摘录自 VBA帮助文档:ReDim 语句
          在过程级别中使用,用于为动态数组变量重新分配存储空间。语法
    ReDim [Preserve] varname(subscripts) [As type] [, varname(subscripts) [As type]] . . ...................
    Preserve 可选的。关键字,当改变原有数组最末维的大小时,使用此关键字可以保持数组中原来的数据。 ..............
      如果使用了 Preserve 关键字,就只能重定义数组最末维的大小,且根本不能改变维数的数目。例如,如果数组就是一维的,则可以重定义该维的大小,因为它是最末维,也是仅有的一维。不过,如果数组是二维或更多维时,则只有改变其最末维才能同时仍保留数组中的内容。下面的示例介绍了如何在为已有的动态数组增加其最末维大小的同时而不清除其中所含的任何数据。