dim a() as long
redim a(2)
a(0)=0
a(1)=1
a(2)=2
'redim preserve a(0 to 1) '* 如果用这句 OK
redim preserve a(1 to 2) '* 出错 问怎样可以保留后面的元素

解决方案 »

  1.   

    dim a() as long
    redim a(2)
    a(0)=0
    a(1)=1
    a(2)=2
    'redim preserve a(0 to 1) '* 如果用这句 OK
    redim preserve a(1 to 2) '* 出错 问怎样可以保留后面的元素''''''''''''''''''''''''''''
    dim b(1 to 2)
    dim i as byte
    for i=1 to 2
      b(i)=a(i)
    next
    redim a(1 to 2)
    for i=1 to 2
      a(i)=b(i)
    next
      

  2.   

    Dim a() As LongReDim a(2)a(0) = 1
    a(1) = 2
    a(2) = 3Dim b(1) As Long
    Call CopyMemory(b(0), a(1), Len(b(0)) * 2)Debug.Print b(0)
    Debug.Print b(1)
      

  3.   

    在用 Preserve 关键字时,只能改变多维数组中最后一维的上界;如果改变了其它维或最后一维的下界,那么运行时就会出错