VBAのコレクション(Collection)のループ処理

Visual Basic for Applications (VBA)

  • Collectionクラスのインデックスを使ったループ処理。Collectionのインデックスは1から始まります。

    Dim list As New Collection, i As Long
    
    Call list.Add("あいうえお")
    Call list.Add("かきくけこ")
    Call list.Add("さしすせそ")
    Call list.Add("たちつてと")
    
    For i = 1 To list.Count() Step 1
    Debug.Print list.Item(i)
    Next i
    
    Set list = Nothing

    結果

    あいうえお
    かきくけこ
    さしすせそ
    たちつてと
  • CollectionクラスのFor~Eachでのループ処理。値を保存する変数はVariant型である必要があります。

    Dim list As New Collection, item As Variant
    
    Call list.Add("なにぬねの")
    Call list.Add("はひふへほ")
    Call list.Add("まみむめも")
    Call list.Add("やゆよ")
    
    For Each item In list
    Debug.Print CStr(item)
    Next
    
    Set list = Nothing

    結果

    なにぬねの
    はひふへほ
    まみうめも
    やゆよ