表/配列/For ~Next
このVBAコードは、指定された範囲の値を配列に格納し、配列内の値をループ処理して別の場所に出力します。
Sub 表ループ_配列()
Dim arr() As Variant
Dim i As Long
arr = Range("A1:A100")
For i = LBound(arr) To UBound(arr)
'Sheets("sheet14").Cells(i + 1, "A").Value = arr(i) '.Offset(0.2)
Cells(i + 1, 2) = arr(i) '.Offset(0.2)
Next i
End Sub
解説
- 1行目:サブルーチン “表ループ_配列” を定義します。
- 2行目:Variant 型の配列 “arr” を宣言します。
- 3行目:Long 型の変数 “i” を宣言します。
- 5行目:”Range” オブジェクトを使用して、シート上の範囲 “A1:A100” を取得し、配列 “arr” に割り当てます。
- 7行目:配列 “arr” 内の値をループ処理するために、”LBound” 関数を使用して配列の最初のインデックスを取得し、”UBound” 関数を使用して配列の最後のインデックスを取得します。
- 8行目:ループ内で、現在のインデックス “i” に対応するセルの値を、列 “B” のセルに出力します。
- 9行目:ループの終了を示します。
このコードは、範囲を配列にコピーしてから配列をループ処理するため、パフォーマンスが良くなります。また、配列内の値を処理する方法についても示しています。
コメント