このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】連想配列を初期化(全消去)する方法

2024年3月9日

今回はVBAで連想配列を初期化(全消去)する方法を紹介します。

また、併せて一部の項目(キー)を消去する方法も紹介します。

この記事では↓の内容が分かります。

  • 連想配列を初期化(全消去)
  • 連想配列の一部の項目(キー)を消去

VBAが難しいと感じたら
ココナラにてマクロ(VBA)の作成代行を始めました。
ご依頼はこちらから

連想配列を初期化(全消去)(RemoveAllメソッド)

Sub Sample1()
    
    Dim dic As Object
    Set dic = CreateObject("Scripting.Dictionary")
    
    dic.Add "key1", "value1"
    dic.Add "key2", "value2"
    dic.Add "key3", "value3"
    
    dic.RemoveAll '項目を全消去
    Debug.Print dic.Count '0
End Sub

連想配列を初期化(全消去)するにはRemoveAllメソッドを使います。

dic.RemoveAllを行うとこれまで追加された項目とキーがすべて削除されます。

dic.Countで項目数を確認すると0個となっているのが分かります。

Dictionaryの一部のキーを削除する(Removeメソッド)

Sub Sample2()
    
    Dim dic As Object
    Set dic = CreateObject("Scripting.Dictionary")
    
    dic.Add "key1", "value1"
    dic.Add "key2", "value2"
    dic.Add "key3", "value3"
    
    dic.Remove "key1"
    Debug.Print dic.Count '2
End Sub

一部のキーを削除するためには、Removeメソッドを使います。

dic.Remove "key1"

Removeメソッドの引数には削除したいキーを指定します。(インデックスや値ではないので注意してください)

一部のキーを除外して処理したいときなどは、Removeメソッドを活用してみてください。

VBAが難しいと感じたら
ココナラにてマクロ(VBA)の作成代行を始めました。
ご依頼はこちらから

VBA

Posted by やろまい