Excel中的字典(Dictionary)对大多数人来说都是个谜,即使是有些很熟悉VBA的人,可能对其都还不了解。其实,字典是一个很好的工具,运行快速,可以执行一些很好的计算。字典的工作原理与普通字典相同,一个单词不会以相同的拼写输入两次。在字典中,键(key)是唯一的标识符,用于标记字典中的条目。只有唯一的键才能输入字典,这就打开了奇妙的可能性。字典可以快速存储和合并数据,其结果可以输出到任何地方并实时更新。返回布尔值,表明键是否存在于Dictionary对象中。从Dictionary对象中移除指定的键/项目对。从Dictionary对象中移除所有的键/项目对。以下是将项目放入字典的方法。基本字典条目分为两部分:键(Key)——为Dictionary对象中的现有键值设置新键值。项目(Item)——设置或返回Dictionary对象中项目的值。Key 1为唯一键,Item 1为其关联项。对于初学者来说,令人困惑的是,该项在引用区域时获取键的值,这通常是通过数组对象完成的。然而,为了简化这个过程,这里将通过添加一个键和一个项目展示它是如何在一个非常基本的级别上工作的。使用.Add方法可以同时添加键和相对应的项目。这可以通过以下方式完成: Set d =
CreateObject('Scripting.dictionary')可以通过Debug.Print在立即窗口中打印出键/项目值对,代码如下: Set d =
CreateObject('Scripting.dictionary') Debug.Print d.keys()(0), d.items()(0) Debug.Print d.keys()(1), d.items()(1) Debug.Print d.keys()(2), d.items()(2)在立即窗口中的输出如下图1所示。键值在左侧,项目值在右侧。引用“Microsoft
Scripting Runtime”库要充分利用字典,最好在VBA的“引用”菜单中添加对“Microsoft
Scripting Runtime”的引用。这将使你能够完全访问智能提示(IntelliSense),并允许查看可用的对象。要添加“Microsoft Scripting
Runtime”,在VBE中单击菜单“工具——引用”,在“引用”对话框中找到并勾选“Microsoft
Scripting Runtime”前的复选框,如下图2所示。 Set d =
CreateObject('Scripting.dictionary')删除字典中的项目非常简单,只需引用字典和要删除的项目,如下面的代码: Set d =
CreateObject('Scripting.dictionary')删除字典中的所有项都比删除其中的一项容易,只需引用字典本身并调用RemoveAll命令。下面的代码将删除所有内容: Set d =
CreateObject('Scripting.dictionary') Set d =
CreateObject('Scripting.dictionary')如果不想这样,使用比较模式可以使大写的名称与小写文本相同。下面的代码将修复比较问题: Set d =
CreateObject('Scripting.dictionary') d.CompareMode = TextCompare这是对Excel中字典的基本介绍,没有涉及到其全部强大的功能,但它确实是VBA内部一个令人惊叹且值得研究的工具。
|