ExcelのUnion()
は、異なるシートの範囲では機能しません。すべての範囲を1つのシートにコピーするか、コレクション、配列、辞書などの別のVBAコンテナを使用することを検討してください。パスの下にあるすべてのそのような容器や各iteratelyプリント値までの値の範囲:。
Public Sub RangeTest()
Dim r1, r2, r3, r4, r5
Dim d1 As New Collection, d2(1 To 250) As Variant, d3 As Object
Dim i As Variant, n As Variant, num As Integer
Set r1 = Sheets("SE_SQ").Range("Ad1:ak50")
Set r2 = Sheets("Main").Range("Ad1:ak50")
Set r3 = Sheets("Feeler").Range("Ad1:ak50")
Set r4 = Sheets("Egg Crates").Range("Ad1:ak50")
Set r5 = Sheets("other").Range("Ad1:ak50")
' COLLECTION '
For Each i In Array(r1, r2, r3, r4, r5)
For Each n In i
d1.Add n
Next n
Next i
For Each i In d1: Debug.Print i: Next i
' ARRAY '
num = 1
For Each i In Array(r1, r2, r3, r4, r5)
For Each n In i
d2(num) = n
num = num + 1
Next n
Next i
For Each i In d2: Debug.Print i: Next i
' DICTIONARY '
Dim key As Variant, val As Variant
Set d3 = CreateObject("Scripting.Dictionary")
num = 1
For Each i In Array(r1, r2, r3, r4, r5)
For Each n In i
key = num: val = n: d3.Add key, val
num = num + 1
Next n
Next i
For Each i In d3: Debug.Print d3(i): Next i
End Sub
、これはで使用されているプログラミング言語/環境についての詳細情報を含めるように_edited_た場合は、この質問は良いだろう、私はこれがある_think_ Excelの質問ですが、わかりません。 – chwarr