VBA 配列にセル範囲を代入する

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 5月 12, 2022

このチュートリアルでは、配列にセル範囲を代入する方法を説明します。

配列にセル範囲を代入する

セルの範囲を指定して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関数は、配列に含まれる値をイミディエイトウィンドウに表示します。

vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples