Board logo

標題: [發問] 隨機改變陣列大小 [打印本頁]

作者: xandertco    時間: 2013-6-11 11:34     標題: 隨機改變陣列大小

因為不知道資料來源的大小,但改成myarray(a, 1)會出錯


'Dim a As Integer
'a = Cells(Range("A65536").End(xlUp).Row, 1).Row - 1


Dim myarray(1783, 1) 可以改成 Dim myarray(a, 1)


For i = 0 To 1783

    For j = 0 To 1
   
      
      myarray(i, j) = Cells(i + 1, j + 1)
   
    Next j
   
Next i
作者: kimbal    時間: 2013-6-11 13:45

本帖最後由 kimbal 於 2013-6-11 13:47 編輯

回復 1# xandertco

動態陣列
  1. Sub test()
  2. Dim a As long
  3. a = Cells(Range("A65536").End(xlUp).Row, 1).Row - 1

  4. Dim myarray()
  5. ReDim myarray(a, 1)
  6. For i = 0 To a
  7.     For j = 0 To 1
  8.       myarray(i, j) = Cells(i + 1, j + 1)
  9.     Next j
  10. Next i
  11. End Sub
複製代碼
另外跟主問題無關的提示:上面integer 應轉成long, 如果行數多於3萬多的話,integer會出問題的.
作者: xandertco    時間: 2013-6-12 19:41

謝謝版主的解說!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)