私は仕事で使用するためにパーサーに取り組んでいます。基本的には、解析するために必要なデータの行がたくさんある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ファイルの異なる行とは異なる値にする必要があります。
さらに私は行ごとに記憶していますが、私は位置9過去の出力に任意の値をしようとすると、私は私は小さいアレイに基づくので
ActiveSheet.Cells(1, 1).Value = aArray(10, 0)
ActiveSheet.Cells(1, 2).Value = aArray(11, 0)
ように距離誤差のアウトを取得する14個の列があるはずメイン配列に格納する値を指定するために使用すると、aArray内に含まれる各サブ配列の合計14個の位置にする必要があります。
洞察?
私はミスが私の患者を持っていてください作っていますので、もしこれが私の最初の本当のVBAスクリプトであることに留意してください私はこれが私のために多くの異なるJS/PHPの背景から来るメートル。
awsomeさんは – midaym
thksたくさん助けましたya iは最初の2つの値を切り替える必要があり、次のi - 2の出現はxにする必要があったので、aArray(x、i - 2)= ActiveSheet.Cells(i、a(x))です。値は完全に今働いています – midaym