web-dev-qa-db-ja.com

ネストされた辞書キーがVBAに存在するかどうかを確認する

ExcelVBAで辞書の辞書を使用しようとしています。私が調べようとしているのは、ネストされた辞書にすでにキーがあるかどうか、ない場合は追加することです。

私のデータは次のようになります。

Country, Customer, Purchased
US, Alan, Lawnmower
US, Alan, Hammer
US, Karen, Donkey
US, Simon, Mustang
MX, Carl, Lawnmower
MX, Alan, Donkey
...

私が考えているデータ構造は次のようになりますdictionary --> dictionary --> array - あれは、 country --> customer --> purchased

国がcountry辞書に存在しないかどうかを調べるために使用しているコードは次のとおりです。

If Not dataset.Exists(country) Then 
...

ただし、次のようなコードは機能しません。

If Not dataset.Exists(country)(customer) Then 
.... 

次のレベルの辞書エントリをどのようにチェックしますか?国の辞書の内容を配列に格納し、それをチェックする場合(これは混乱しているようです)?

9
Blue Otter Hat

あなたはこれを使うことができます:

If Not dataset.Exists(country) Then
    'if country doesn't exists do sth
ElseIf Not dataset(country).Exists(customer) Then
    'if country exists, but customer doesn't exists do sth
End If
5
Dmitry Pavliv