Bereich durch anderen Bereich dazwischen aufteilen? VBA

Bereich durch anderen Bereich dazwischen aufteilen? VBA

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 IntersectOperation 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

Bildbeschreibung hier eingeben

Ich hoffe, das hilft Ihnen beim Einstieg.

verwandte Informationen