相关疑难解决方法(0)

带动态数组的VBA字典

我正在尝试创建一个包含动态数组的动态字典.

电子表格中的示例行:

Facility Name|Contact Name|Contact Role
Run Code Online (Sandbox Code Playgroud)

设施和联系人之间的关系是M2M.我想重新创建一个如下所示的表:

Contact Name| Facility1 - role, Facility2 - role
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建一个名称字典,其中唯一的名称作为键

New Dictionary  Names(name)
Run Code Online (Sandbox Code Playgroud)

Names(name)的值将是显示此名称的所有行号的数组.例如,说"Joe Rose"出现在第3,7和9行:

names("Joe Rose") = [3,7,9]
Run Code Online (Sandbox Code Playgroud)

我知道如何在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
Run Code Online (Sandbox Code Playgroud)

即使只是指着我可以参考的一些文章也会很棒!来自PHP背景的VBA令人沮丧!

谢谢

arrays vba dictionary excel-vba multidimensional-array

3
推荐指数
1
解决办法
3156
查看次数