Excel 2013 VBAについての質問です。
シートのA1からD10までの範囲をDataTBという配列に格納してその中のデータをforを使って計算させるというものを作成しました。そのなかで以下のコーであると最後に一番最後のiの時なぜか1増えるのはなぜでしょう?
VBA
1``` 2Dim LR As Long '最終行の取得 3 LR = ws1.Cells(Rows.Count, 4).End(xlUp) 4Dim dataTB As Variant 5 dataTB = ws1.Range(ws1.Cells(1, 1), ws1.cels(LR, 4)) 6’シートの最終行が不定のためLRを使用 7 8Dim i As Long 9 For i = 2 To LR '1行目はデータの題目を入れるため開けている 10 dataTB(i, 4) = dataTB(i, 1) + dataTB(i, 2) 11 Next i 12 'i=LRのときにLRが(LR+1)になってしまう。 13 'これによりLR行までしか配列がないため「インデックスがありません。」となってしまう。 14 15``` 16上記のようになってしまう 17例えばLR=10ならばi=10のとき配列dataTB(10,4)がdataTB(11,4)になる 18要は配列最後のiが増えるのはなぜか 19どうすれば治せるのかを知りたいです。 20(個人的に自身の配列に対する知識不足な気がしますが、、)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。