检查VBA中是否存在嵌套字典键

时间:2014-02-21 13:40:07

标签: excel vba data-structures dictionary

我正在尝试在Excel VBA中使用词典字典。我想要找出的是嵌套字典是否已经有一个密钥,如果没有,添加它。

我的数据如下所示:

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 
.... 

如何检查下一级字典条目?是否将国家字典的内容存储在一个数组中,然后检查(这看起来一团糟)?

1 个答案:

答案 0 :(得分:5)

你可以使用这个:

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