在Excel VBA中使用3列集合并进行搜索
我正在excel vba中构建一个算法来搜索网络中的路径。我是编程这类问题的新手。请不要建议其他软件。问题应该很简单 问题描述: 搜索表示弧上流的数据集合(3“列”:从、到、流) 确定从源到每条路径末端的路径(从源开始,找到流向“to”的流,在“from”字段中查找该“to”,找到流向该“to”的流,依此类推,直到找不到另一个“from”) 数据如下所示: 从节点到节点流 1 2 4 2 3 3 3 4 2 4 5 1 7 6 1 8 7 2 最大的障碍: 我正在使用一个集合来保存此数据,并使用下面的代码进行设置 收藏 Set y=新集合 y、 添加表格(“FlowDecomp\u Solve”).范围(“fromtoflow”).值 数据被拉入,但看起来是这样的: (试过一张照片,但我是新用户) 项目1 项目1(1) 因此,它显示集合中有1个项目,而不是我的弧。如何访问集合的Item1(1,2)类型地址。每个特殊值是否都有唯一的键?在代码中使用特定行后,如何搜索集合并删除该行在Excel VBA中使用3列集合并进行搜索,vba,collections,key,Vba,Collections,Key,我正在excel vba中构建一个算法来搜索网络中的路径。我是编程这类问题的新手。请不要建议其他软件。问题应该很简单 问题描述: 搜索表示弧上流的数据集合(3“列”:从、到、流) 确定从源到每条路径末端的路径(从源开始,找到流向“to”的流,在“from”字段中查找该“to”,找到流向该“to”的流,依此类推,直到找不到另一个“from”) 数据如下所示: 从节点到节点流 1 2 4 2 3 3 3 4 2 4 5 1 7 6 1 8 7 2 最大的障碍: 我正在使用一个集合来保存此数据,并使用
非常感谢您的帮助。经过多次尝试和错误,我决定将我的原始数据设置为一个数组,并按如下方式进行搜索(d位于数组下方,a位于整个数组): 然后,为了跟踪路径,我将from和to节点添加到一个名为path的集合中,直到它找不到另一个弧,然后写下路径,清空集合,更新值,然后重新开始 希望这对其他人有帮助
Item 1 (1,1) 1
Item 1 (1,2) 2
Item 1 (1,3) 4
For d = LBound(arcflow(), 1) To UBound(arcflow(), 1)
For a = LBound(arcflow(), 2) To UBound(arcflow(), 2)
If a = 1 Then
fromnode = arcflow(d, a)
ElseIf a = 2 Then
tonode = arcflow(d, a)
ElseIf a = 3 Then
flow = arcflow(d, a)
'write into node-node matrix
Sheets("FlowDecomp_Solve").Range("nodenodemtrx").Cells(fromnode, tonode).value = 1
End If
Next a
Next d