構文
object(Key).Remove
Key・・・・Dictionaryでオブジェクト内で削除したいキーを指定します。【必須】
Removeメソッドは、Dictionary オブジェクトのキー(要素)を削除します。
通常の配列では存在しない削除用のメソッドが準備されている為、Loopする必要がありません。
Dictionaryのキー(要素)を削除するサンプルコード
'参照設定 Microsoft Scripting Runtime
Public Sub sample()
Dim dic As Dictionary
Set dic = New Dictionary
dic.Add "1月", "Jan"
'■Dictionaryの0番目の要素を取得
Debug.Print dic.Keys(0) '1月
'■DictionaryのKeyが"1月"の要素→今回は0番目の要素を削除
dic.Remove "1月"
'■削除済みなので実行時エラーが出る
Debug.Print dic.Keys(0) '実行時エラー9 インデックスが有効範囲にありません
dic.Add "1月", "Jan"
dic.Add "2月", "Feb"
'■Dictionaryの0番目の要素を取得
Debug.Print dic.Keys(0) '1月
'■DictionaryのKeyが"1月"の要素→今回は0番目の要素を削除
dic.Remove "1月"
'■削除済みでキーがズレる。(埋めてくれる)
Debug.Print dic.Keys(0) '2月
End Sub
注意点
- 配列と異なりDictionaryの削除された要素は埋めます。
関連記事
Dictionaryにキーと要素を追加する【Addメソッド】【ExcelVBA】
Dictionaryにキーが存在するかチェックする【Existsメソッド】【ExcelVBA】
DictionaryのExistsが動作しないのはValueで入れてない為【ExcelVBA】



コメント