vba - VBA 中的哈希表/关联数组

标签 vba hash hashtable associative-array

我似乎找不到解释如何在 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/

相关文章:

c# - 为 C# 保留局部性的哈希函数

powershell - 无法从哈希表中删除项目

excel - 循环遍历Excel表格中的特定列

excel - 我应该如何格式化 OneDrive 文件路径以便 Open() 或 FSO.OpenTextFile 打开它?

excel - 用户窗体中的月 View - 自动关闭

perl - 在 Perl 中如何按二级哈希值排序?

amazon-web-services - 来自 S3 数据的 Terraform lambda source_code_hash 不会留在状态缓存中

java - HashMap 难点

c++ - 生成 (void *) 数据的 Hash Key

excel - 使用 Excel Vba 浏览网站