
Nehmen wir an, ich habe den Bereich B1:BF1
Und noch eins, Variabler Bereich (z. B. E1:W1)
Ich möchte das Obere mit dem Unteren teilen, also würde das Ergebnis so aussehen
B1:D1, X1:BF1
Ist es möglich, einen derart aufgeteilten Bereich in einer Variablen zu speichern?
Antwort1
Ich schätze, Sie müssen eine umgekehrte Intersect
Operation durchführen. Leider ist mir keine derartige Operation bekannt.
Hier ein kleiner Code, der die Bereiche überprüft und feststellt, wo sie sich überschneiden. Wenn sie sich nicht überschneiden, wird ein neuer Bereich erstellt.
Sub Test()
Dim Rng1 As Range, Rng2 As Range, Rng3 As Range, Cl As Range
With ThisWorkbook.Sheets("Sheet1")
Set Rng1 = .Range("B1:BF1")
Set Rng2 = .Range("E1:W1")
For Each Cl In Rng1
If Intersect(Rng2, Cl) Is Nothing Then
If Not Rng3 Is Nothing Then
Set Rng3 = Union(Rng3, Cl)
Else
Set Rng3 = Cl
End If
End If
Next Cl
Debug.Print Rng3.Address
End With
End Sub
Ich hoffe, das hilft Ihnen beim Einstieg.