Excel Union()
funktioniert nicht für Bereiche über verschiedene Blätter hinweg. Kopieren Sie alle Bereiche in ein Blatt, oder verwenden Sie einen anderen VBA-Container, z. B. eine Sammlung, ein Array oder ein Wörterbuch. Im Folgenden geht Bereichswerte durch alle solche Behälter und iterately druckt Werte in jeder.
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
Diese Frage wäre besser, wenn es in _edited_ enthalten Details darüber, welche Programmiersprache/environment dieses verwendet wird, ich _think_ dies ist ein Excel-Frage, aber ich bin mir nicht sicher. – chwarr