我有一张大桌子。其中我想要一栏
如果值1>值2,则标志1,如果值1= 0.45,则标志2。显然,每个5K+都有唯一的记录。我想知道是否可以将上面的内容存储为集合,并将其添加到以名称为键、集合作为项的字典中?
谢谢
发布于 2017-07-17 12:58:13
在集合中,可以使用任何对象作为项。因此,您可以将Array、Object或Collection放在那里。在这些文件中,您可以放置多个值。这里以Array作为项目。运行它并在“立即”窗口中检查结果。
Option Explicit
Public Sub TestMe()
Dim myCol As New Collection
Dim myVar As Variant
myCol.Add Array("A", "B"), "2"
myCol.Add Array("C", "D"), "3"
myCol.Add Array("F", "G", "H"), "6"
For Each myVar In myCol
Debug.Print myVar(LBound(myVar))
Debug.Print myVar(UBound(myVar))
Debug.Print "-------------------"
Next myVar
End Sub下面是使用脚本.Dictionary的解决方案:
Option Explicit
Public Sub TestMe()
Dim myCol As Object
Dim myVar As Variant
Set myCol = CreateObject("Scripting.Dictionary")
myCol.Add 2, Array("A", "B")
myCol.Add 3, Array("C", "D")
myCol.Add 6, Array("F", "G", "H")
For Each myVar In myCol.Keys
Debug.Print myCol(myVar)(LBound(myCol(myVar)))
Debug.Print myCol(myVar)(UBound(myCol(myVar)))
Debug.Print "-------------------"
Next myVar
End Sub这是即时窗口中的结果:
A
B
-------------------
C
D
-------------------
F
H
-------------------https://stackoverflow.com/questions/45144793
复制相似问题