一个文本文档,有N行,每一行个数不一样,最大为13,最小为5;我想把他们读入一个二维数组里面,先按行lineinput读成一个一维数组,内有N个元素,然后再用split函数按空格分割每一行,,我就建立了一个N*13的二维数组,每行分割的同时把split(一维数组," ")赋值给二维数组(N,0 to 12),问题来了,在某行个数例如为5的时候,就提示下标越界,我想把此行6-13的无数据赋值为0也读入二维数组中,该怎么实现啊?第一次在这里发帖,诚求,

解决方案 »

  1.   

    for i =0 to ubound(arr)
     arr2(n,i)=arr(i)
    next
    if i<12 then
     i=ubound(arr)+1 to 12
      arr2(n,i)=0
    next
    end if
      

  2.   


    Private Sub Command1_Click()
       Open "c:\gg.txt" For Input As #1
       Dim a As String, b, c, d(), i As Long, j As Byte
       a = Trim(Input(LOF(1), 1)): Close #1
       If Right(a, 2) = vbNewLine Then a = Left(a, Len(a) - 2)
       b = Split(a, vbNewLine): ReDim d(UBound(b), 12)
       
       For i = 0 To UBound(b)
           c = Split(b(i))
           For j = 0 To UBound(c)
               d(i, j) = c(j)
           Next '
           If j < 12 Then
              For k = j To 12
                  d(i, k) = 0
              Next
           End If
       Next
       
       '自己观查数组D的结果
       
    End Sub