ray88’s diary

お仕事で困ったとき用の自分用の覚書

VBA Collection

■コレクションの宣言

Dim コレクション名 As Collection
Set コレクション名 = New Collection

■Add メソッド:コレクションに要素を追加する

object.Add(Item,[Key],[Before],[After])
引数 説明
Item コレクションに追加する要素を指定する
Key インデックスの代わりに使用できるキー文字列・一意な文字列を指定する
Before コレクションに追加される要素を、指定した要素の前に追加する
After コレクションに追加される要素を、指定した要素の後に追加する

■Count メソッド:要素数を取得する

object.Count

■Itemメソッド:インデックスまたはキー文字列で指定された要素をを取り出す

object.[Item](Index)

■Removeメソッド:インデックスまたはキー文字列で指定された要素を削除する

object.Remove(Index)

■サンプルコード

Sub コレクションテスト()

Dim persons As Collection
Set persons = New Collection

With persons
    .Add "鈴木", "m01"
    .Add "佐藤", "m02"
    .Add "山田", "m03"
    .Add "近藤", Before:="m01"
    
    Debug.Print .Count '4
    Debug.Print .Item(1) '近藤
    Debug.Print .Item("m02") '佐藤
    
    .Remove "m01"
    Debug.Print .Count '3
End With

'Debug.Print persons("m01") '実行時エラー

End Sub