例文を使って繰り返し業務を時短

【マクロ・VBA】配列で指定した範囲の表をループ処理する

エクセル、マクロ、VBAで配列で指定した範囲の表をループ処理する VBA

表/配列/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行目:ループの終了を示します。

このコードは、範囲を配列にコピーしてから配列をループ処理するため、パフォーマンスが良くなります。また、配列内の値を処理する方法についても示しています。

コメント

タイトルとURLをコピーしました