Split Range 可以透過其他 Range 之間進行嗎?程式設計語言

Split Range 可以透過其他 Range 之間進行嗎?程式設計語言

假設我得到了範圍 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

在此輸入影像描述

我希望這能讓你開始。

相關內容