用其他范围来分割范围吗? VBA

用其他范围来分割范围吗? VBA

假设我得到了范围 B1:BF1

另外,可变范围(即 E1:W1)

我想将上部与下部分开,因此结果将如下所示

B1:D1,X1:BF1

是否可以将这样的分割范围保存在一个变量中?

答案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

在此处输入图片描述

我希望这能帮助你开始。

相关内容