Array関数を使って配列に一度に値を格納する

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

(Last modified: )

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関数を使うことで、まとめて値を格納することが可能になります。

サンプルプログラム

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

Sub テスト()

    Dim userAddress As Variant

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

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

End Sub

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

Array関数

-- --

Excel VBA で Array 関数を使って配列に一度に値を格納する方法を解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。