我正在研究用於工作的解析器。基本上我有一個excel文檔,裏面充滿了我需要解析並存儲到多維數組中的數據行。多維數組存儲/打印問題
這裏是我的代碼至今:
Dim a
Dim iRows As Long
Dim i As Integer
Dim aArray() As Variant
a = Array(2,3,4,5,6,9,10,14,19,21,23,25,29,38)
iRows = ActiveWorkbook.Sheets(1).UsedRange.Rows.Count
ReDim aArray(iRows, UBound(a))
For i = 2 To iRows + 1
For x = 0 To UBound(a)
aArray(i - 2, x) = ActiveSheet.Cells(i, a(i - 2)).Value
Next x
Next i
牢記i = 2
的偏移和iRows + 1
是忽略標題行
的問題是,當我嘗試輸出它,我我發現所有的行都是相同的,所以aArray(0,1)
和aArray(1,1)
是相同的值,它們應該是不同行的Excel文件中的不同值。
還應該有14列,我每行存儲,但是當我嘗試輸出的歷史位置9的任何值基於小陣我在我得到一個超出範圍的錯誤,像這樣
ActiveSheet.Cells(1, 1).Value = aArray(10, 0)
ActiveSheet.Cells(1, 2).Value = aArray(11, 0)
用於指定要在主陣列中存儲哪些值,它們應該是每個包含在aArray中的子陣列的總共14個位置。
任何見解?
請記住,這是我的第一個真正的VBA腳本,所以如果我犯了錯誤,請讓我的患者來自JS/PHP背景,所以這對我來說有很大的不同。
要命了很多幫助THKS – midaym
我結束了不得不切換前兩個值和下一次出現的i - 2在輸出需要x像這樣aArray(x,i - 2)= ActiveSheet.Cells(i,a(x))。價值完美現在完美 – midaym