VBA中的字典是使用空键值对创建的

时间:2013-09-11 06:05:44

标签: excel vba dictionary

创建新词典后:

Dim teams as Dictionary
Set teams = New Dictionary

我注意到它已经包含空键 - 值对(teams.Count返回值1)。 如何防止这种情况发生或删除?这是正常行为吗?

2 个答案:

答案 0 :(得分:12)

我有同样的经历并解决了它。

我为字典中的值设置了一个Watch表达式。不知何故,这将空字符串/值对保留在字典中(或保持读取它)。

删除手表并单步执行代码我现在看到字典中没有空/空项目了。

答案 1 :(得分:2)

如果您引用与我相同的Microsoft Scripting Runtime字典scrrun.dll - Excel 2010。

enter image description here

然后下面的代码在创建后返回0作为项目的.Count而不进行操作。

Sub SD()
    Dim teams As Dictionary
    Set teams = New Dictionary
    Debug.Print teams.Count
End Sub

我不知道你的字典返回1的原因,但我认为解决方法是简单地使用.RemoveAll对象的Dictionary方法

Sub SD()
    Dim teams As Dictionary
    Set teams = New Dictionary
    teams.RemoveAll
    Debug.Print teams.Count
End Sub