Разделить диапазон другим диапазоном между ними? VBA

Разделить диапазон другим диапазоном между ними? VBA

Допустим, у меня диапазон B1:BF1.

И еще один, Переменный Диапазон (т.е. E1:W1)

Я хочу разделить верхнюю часть с нижней, чтобы результат выглядел так

В1:Д1, Х1:БФ1

Можно ли сохранить такой разделенный диапазон в одной переменной?

решение1

Думаю, вам придется сделать какую-то обратную Intersectоперацию. К сожалению, я не знаю ни одной такой операции.

Вот небольшой фрагмент кода, который проверит диапазоны и увидит, где они пересекаются. Если они не пересекаются, он создаст новый диапазон.

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

введите описание изображения здесь

Надеюсь, это вас заинтересует.

Связанный контент