コレクションには、任意のオブジェクトをアイテムとして使用できます。したがって、Array、ObjectまたはCollectionをそこに置くことができます。これらの中で、複数の値を入力することができます。 ここでは、配列をItemとして扱います。それを実行し、直接のウィンドウで結果を確認してください。ここで
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
-------------------
辞書は私が重複した行を持つためですあなたの複数の2秒だから、辞書の機能が存在することを期待していた –
コレクションオブジェクトを辞書オブジェクトに変更することができますが、ロジックは全く同じです。 @VarunYadav – Vityata
辞書を使用する場合は、辞書を編集する必要がある場合は、配列を辞書から抜き出す必要があります。https://stackoverflow.com/questions/26390638/vba-dictionary-with-dynamic-arrays/26390929# 26390929 –