VBAの動的配列とReDim

VBAには動的配列と言うのが存在します。

宣言方法は以下のように宣言します。

Dim arr() As Variant

動的配列の初期化はArray関数を使用して以下のように初期化することができます。

Array関数で初期化する場合は、配列はVariant型でないといけません。

Sub macro()
  Dim arr() As Variant
  arr = Array("a", "b")
  For Each i In arr
    Debug.Print i
  Next i
End Sub

その他、ReDimを使用して動的配列の要素数を変更することができます。

ReDimで動的配列を使用する場合は、配列はVariant型でなくても大丈夫です。

Sub macro()
  Dim arr() As String
  ReDim arr(2)
  arr(0) = "a"
  arr(1) = "b"
  arr(2) = "c"
 
  For Each i In arr
    Debug.Print i
  Next i 
End Sub

結果は以下のようになります。

a
b
c

コメント

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