我正在研究用于工作的解析器。基本上我有一个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