我似乎找不到解释如何在 VBA 中创建哈希表或关联数组的文档。这可能吗?
您可以链接到一篇文章或更好地发布代码吗?
最佳答案
我认为您正在寻找 Microsoft Scripting Runtime 库中找到的 Dictionary 对象。 (从 VBE 中的“工具...引用”菜单添加对项目的引用。)
它几乎适用于任何可以适应变体的简单值(键不能是数组,并且尝试使它们成为对象没有多大意义。请参阅下面 @Nile 的评论。):
Dim d As dictionary
Set d = New dictionary
d("x") = 42
d(42) = "forty-two"
d(CVErr(xlErrValue)) = "Excel #VALUE!"
Set d(101) = New Collection
如果您的需求更简单并且只需要字符串键,您还可以使用 VBA Collection 对象。
我不知道两者是否真的对任何东西进行哈希处理,因此如果您需要类似哈希表的性能,您可能需要进一步挖掘。 (编辑:Scripting.Dictionary 确实在内部使用 hash table。)
关于vba - VBA 中的哈希表/关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1309689/