Array関数で一度に値を格納する

広告

配列に実際の値を格納するには、インデックス番号を指定して1つ1つ格納するしか方法はありません。ただ、バリアント型の変数を用意して、その値として配列を格納することができ、配列の中身をArray関数を使ってまとめて指定することが可能です。

Dim userAddress As Variant

userAddress = Array("東京都", "北海道", "愛知県")

バリアント型の配列ではなく、配列を値として持つバリアント型の変数である点に注意して下さい。バリアント型の配列とは次のようなものでした。

Dim userAddress(3) As Variant

userAddress(0) = "東京都"
userAddress(1) = "北海道"
userAddress(2) = "愛知県"

ただ、どちらの場合であっても格納された要素を取り出す方法は同じです。

Dim userAddress As Variant

userAddress = Array("東京都", "北海道", "愛知県")

Range("A1").Value = userAddress(0)
Range("A2").Value = userAddress(1)

このようにArray関数を使うことで、まとめて値を格納することが可能になります。

サンプルプログラム

では簡単なサンプルで試してみます。

array4.bas

Sub テスト()

    Dim userAddress As Variant

    userAddress = Array("東京都", "北海道", "愛知県")

    Range("A1").Value = userAddress(0)
    Range("A2").Value = userAddress(1)

End Sub

上記のマクロを実行すると次のようになります。

Array関数

Excel VBA入門の他の記事を見てみる

( Written by Tatsuo Ikura )