VBA 配列にセル範囲を代入する
Last updated on 5月 12, 2022
In this Article
このチュートリアルでは、配列にセル範囲を代入する方法を説明します。
配列にセル範囲を代入する
セルの範囲を指定してVariant型配列へ簡単に入力することができます。
単一の列から値を代入する
この例では、Range(“A1:A10”) を配列に代入し、その値をループしてイミディエイトウィンドウに表示しています。
Sub TestArrayValuesSingle()
'配列をVariant型配列として宣言する
Dim arRng() As Variant
'行数を格納するための整数を宣言する
Dim iRw As Integer
'配列変数に範囲を代入する
arRng = Range("A1:A10")
'1行目から10行目までループさせる
For iRw = 1 To UBound(arRng)
'結果をイミディエイトウィンドウに表示する
Debug.Print arRng(iRw , 1)
Next iRw
End Sub
このとき、UBoundは配列の上限値(例えば10)を設定するために使用し、ループが10回ループすることを認識できるようにします。
Debug.Print関数は、配列に含まれる値を即座にウィンドウに表示します。
複数の列から値を代入する
Sub TestArrayValuesMultiple()
'配列をVariant型配列として宣言する
Dim arRng() As Variant
'行数を格納する整数を宣言する
Dim iRw As Integer
'列の数を格納する整数を宣言する
Dim iCol as Integer
'配列変数に範囲を代入する
arRng = Range("A1:C10")
'1行目から10行目までループさせる
For iRw = 1 To UBound(arRng,1)
'1行につき3つの列をループさせる
For iCol = 1 to UBound(arRng,2)
'結果をイミディエイトウィンドウに表示する
Debug.Print arRng(iRw, iCol)
Next iCol
Next iRw
End Sub
上記のコードでは、Range(“A1:C10”)内の値を配列に代入しています。
UBoundが再び使用されていますが、今回は 2 回必要です。1 回は行をループするため、もう 1 回は列をループするためです。
Debug.Print関数は、配列に含まれる値をイミディエイトウィンドウに表示します。