
範囲B1:BF1を取得したとします
そしてもう一つは、可変範囲(つまりE1:W1)
上と下のを分割したいので、結果は次のようになります
B1:D1、X1:BF1
このように分割された範囲を 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
これで始められるといいですね。