我有一张主要的大桌子。其中我想要列
如果值1> 1,则标记1如果值1 = 0.45,则值2,标志2。显然每个都有超过5K +的独特记录。我想知道我是否可以将上面存储为集合并将其添加到字典中,其中名称为键和集合作为项目?
由于
答案 0 :(得分:0)
在集合中,您可以将任何对象用作项目。因此,您可以将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
以下是使用Scripting .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
-------------------