Intersect metodunun kullanım mantığını anlayabilmek için renklendirme mantığıyla çalışan iki örnek aşağıda verilmiştir.
Option Explicit
'--------------------------------------------------
'Örnek 1
'--------------------------------------------------
Sub IntersectKullanimi1()
Dim secilen_alan As Range
Dim hedef_alan As Range
Range("A:Z").ClearFormats
Set secilen_alan = Range("A1:D15")
Set hedef_alan = Range("B3:B5")
secilen_alan.Interior.Color = vbRed
hedef_alan.Interior.Color = vbYellow
If Intersect(secilen_alan, hedef_alan) Is Nothing Then
Range("D10:E15").Interior.ColorIndex = 5
ElseIf Not Intersect(secilen_alan, hedef_alan) Is Nothing Then
Range("D10:E15").Interior.ColorIndex = 4
End If
End Sub
'--------------------------------------------------
'Örnek 2
'--------------------------------------------------
Sub IntersectKullanimi2()
Dim secilen_alan As Range
Dim hedef_alan As Range
Range("A:Z").ClearFormats
Set secilen_alan = Range("A1:F15")
Set hedef_alan = Range("C10:C20, E12:E28")
secilen_alan.Interior.ColorIndex = 8
hedef_alan.Interior.ColorIndex = 6
If Intersect(secilen_alan, hedef_alan) Is Nothing Then
Intersect(secilen_alan, hedef_alan).Interior.ColorIndex = 5
End If
End Sub
Option Explicit
Sub IntersectKullanimi1()
Dim secilen_alan As Range
Dim hedef_alan As Range
'--------------------------------------------------
'Renklendirme yapmadan önce verilen
'alandaki biçimlendirmeleri temizliyoruz.
'--------------------------------------------------
Range("A:Z").ClearFormats
'--------------------------------------------------
'Bizim çalışacağımız alan ile (secilen_alan)
'kesişim işleminin kontrolünün yapılacağı alanı
'(hedef_alan) belirledik.
'--------------------------------------------------
Set secilen_alan = Range("A1:D15")
Set hedef_alan = Range("B3:B5")
'--------------------------------------------------
'Seçilen alanı ve hedef alanı renklendiriyoruz.
'--------------------------------------------------
secilen_alan.Interior.Color = vbRed
hedef_alan.Interior.Color = vbYellow
'--------------------------------------------------
'Kesişim (Intersect) durumunun olup
'olmamasına göre işlem yap.
'--------------------------------------------------
If Intersect(secilen_alan, hedef_alan) Is Nothing Then
'--------------------------------------------------
'Eğer secilen_alan ile hedef_alan alanları kesişiyorsa
'Range("D10:E15") aralığını mavi renk yap.
'--------------------------------------------------
Range("D10:E15").Interior.ColorIndex = 5
ElseIf Not Intersect(secilen_alan, hedef_alan) Is Nothing Then
'--------------------------------------------------
'Eğer secilen_alan ile hedef_alan alanları kesişmiyorsa
'Range("D10:E15") aralığını yeşil renk yap.
'--------------------------------------------------
Range("D10:E15").Interior.ColorIndex = 4
End If
End Sub
Sub IntersectKullanimi2()
Dim secilen_alan As Range
Dim hedef_alan As Range
'--------------------------------------------------
'Renklendirme yapmadan önce verilen
'alandaki biçimlendirmeleri temizliyoruz.
'--------------------------------------------------
Range("A:Z").ClearFormats
'--------------------------------------------------
'Bizim çalışacağımız alan ile (secilen_alan)
'kesişim işleminin kontrolünün yapılacağı alanı
'(hedef_alan) belirledik.
'--------------------------------------------------
Set secilen_alan = Range("A1:F15")
Set hedef_alan = Range("C10:C20, E12:E28")
'--------------------------------------------------
'Seçtiğimiz alanın rengini belirledik.
'--------------------------------------------------
secilen_alan.Interior.ColorIndex = 8
'--------------------------------------------------
'Hedef alanın rengini belirledik.
'--------------------------------------------------
hedef_alan.Interior.ColorIndex = 6
'--------------------------------------------------
'Kesişim (Intersect) durumunun olup
'olmamasına göre işlem yap.
'--------------------------------------------------
If Intersect(secilen_alan, hedef_alan) Is Nothing Then
'--------------------------------------------------
'Eğer secilen_alan ile hedef_alan
'kesişiyorsa kesişen bölgeleri yeşil yap.
'--------------------------------------------------
Intersect(secilen_alan, hedef_alan).Interior.ColorIndex = 5
End If
End Sub