【发布时间】:2014-12-11 00:11:02
【问题描述】:
我正在尝试创建一个包含动态数组的动态字典。
电子表格中的示例行:
Facility Name|Contact Name|Contact Role
设施和联系人之间的关系是 M2M。我想重新创建一个如下所示的工作表:
Contact Name| Facility1 - role, Facility2 - role
我想做的是创建一个名称字典,其中唯一的名称用作键
New Dictionary Names(name)
Names(name) 的值将是该名称出现的所有行号的数组。例如,假设“Joe Rose”出现在第 3、7 和 9 行:
names("Joe Rose") = [3,7,9]
我知道如何在 JS、Python、PHP 中做到这一点,但 VBA 让我发疯!
这是我目前得到的结果:
Dim names As Dictionary
Set names = New Dictionary
Dim name
For i=1 To WorkSheets("Sheet1").Rows.Count
name = WorkSheets("Sheet1").Cells(i,2)
If Not names(name) Then
names(name) = i
Else
'help!
'names(name)) push new i, maybe something with redim preserve?
End If
Next i
即使只是将我指向一些我可以参考的文章也会很棒!来自 PHP 背景的 VBA 真是令人沮丧!
谢谢
【问题讨论】:
标签: arrays vba excel dictionary multidimensional-array