配列(Dictionary)

Dictionaryのキー数を取得する【Countメソッド】【ExcelVBA】

構文

object.Count

Countメソッドは、Dictionary オブジェクトのキー数(要素数)を取得します。
Dictionaryに格納された情報がない場合は、0を取得します。

Dictionaryにキー数を取得するサンプルコード

'参照設定 Microsoft Scripting Runtime
Public Sub sample()
    Dim dic As Dictionary
    Set dic = New Dictionary
    
    '■宣言しただけでは0が戻る
    Debug.Print dic.Count   '0
    
    dic.Add "111", "あああ"
    dic.Add "222", "いいい"
    dic.Add "333", "ううう"

    '■3個キーが存在する場合は3が戻る
    Debug.Print dic.Count   '3
    
    
    '■Dictionary(連想配列)をループさせる場合
    Dim i As Long
    For i = 0 To dic.Count - 1
        Debug.Print dic.Keys(i) & "/" & dic.Items(i)
    Next i

End Sub

注意点

  • Dictionaryの配列のスタートは0からです。
    その為、For~Loopでループさせる場合はdic.Count – 1 と処理しましょう。
  • DictionaryオブジェクトはOption Base 1の影響は受けません。
    Option Base 1が設定されていても0~スタートします。

関連記事

Dictionaryにキーと要素を追加する【Addメソッド】【ExcelVBA】
Dictionaryにキーが存在するかチェックする【Existsメソッド】【ExcelVBA】
DictionaryのExistsが動作しないのはValueで入れてない為【ExcelVBA】

コメント

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