我现在要用一个数组,下标是随机的不确定,有时会会很大
所以我这样定义不知道对不对
Public NewStrline(6000000) As String   '转换之后而且我这数组在读取内容前或者后,要将数组还原,也就是清空数组里面的内容,方便再次读取
下边是我的部分代码,也就是在M=0的时候就要初始化数组,不然在NewStrline(m) = NewStrline(m) + a(i) 会出错 
   Dim a() As String: Dim m: Dim i
   m = 0
   Open fileName For Input As #intFilenum
       Do
          Line Input #intFilenum, Strline
          Deltblank '去除空格
          a = Split(Trim(Strline))
          WindDrctSwitchBefore = a(NumSwichCol - 1)
          SwitchType WindDrctSwitchBefore, TypeFlag
          a(NumSwichCol - 1) = WindDrctSwitchAfter
          m = m + 1
          For i = 0 To UBound(a)
             NewStrline(m) = NewStrline(m) + a(i)
          Next
          NewStrline(m) = Trim(NewStrline(m))
       Loop While Not EOF(intFilenum)
    Close #intFilenum

解决方案 »

  1.   

    用redim 重新定义数组的大小
      

  2.   

    Public NewStrline() As String '转换之后
    public ubd as integer         '数组大小ubd = 100
    ReDim NewStrline(100)If ubound(NewStrline)+5 >= ubd Then     '5是个提前量,大小可灵活设定
       ubd = ubd + 100
       ReDim Preserve p0(1, ubd)            '重新定义数组
    End If            
      

  3.   

    ReDim Preserve p0(1, ubd) '重新定义数组
    应为:
    ReDim Preserve NewStrline(ubd) '重新定义数组