Vba'da intersect nasıl kullanılır (örneklerle)


İki belirli aralığın kesişimini temsil eden bir aralık döndürmek için VBA’daki Intersect yöntemini kullanabilirsiniz.

Bu yöntemi pratikte kullanmanın yaygın bir yolu:

 Function FindIntersect(range1, range2)
    FindIntersect = Application.Intersect(range1, range2)
End Function

Daha sonra bu işlevi doğrudan bir Excel elektronik tablosuna iki aralık belirterek girebilirsiniz; işlev, bu iki aralığın kesişimini temsil eden aralıktaki değerlerin her birini döndürecektir.

Aşağıdaki örnekler, bu işlevin Excel’deki aşağıdaki veri kümesiyle pratikte nasıl kullanılacağını gösterir:

Örnek 1: İki aralığın kesişimini bulun (sonuç olarak tek hücreyle)

A2:C2 ve A1:A11 aralığı arasındaki kesişimi temsil eden hücre değerini döndürmek istediğimizi varsayalım.

VBA’da aşağıdaki işlevi tanımlayabiliriz:

 Function FindIntersect(range1, range2)
    FindIntersect = Application.Intersect(range1, range2)
End Function

Daha sonra bu işlevi doğrudan e-tablomuzdaki bir hücreye yazabiliriz:

Formül, A2:C2 ve A1:A11 aralığının kesişimini temsil eden Mavs değerini döndürür:

Örnek 2: İki aralığın kesişimini bulun (sonuç olarak birden fazla hücreyle)

A1:C3 ve A1:B10 aralığı arasındaki kesişimi temsil eden hücre aralığının tamamını döndürmek istediğimizi varsayalım.

VBA’da aşağıdaki işlevi tanımlayabiliriz:

 Function FindIntersect(range1, range2)
    FindIntersect = Application.Intersect(range1, range2)
End Function

Daha sonra bu işlevi doğrudan e-tablomuzdaki bir hücreye yazabiliriz:

Formül, A1:C3 ve A1:B10 aralığının kesişimini temsil eden dikdörtgen değer aralığının tamamını döndürür:

Not : VBA Intersect yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Kullanılan sütunların sayısı nasıl sayılır?
VBA: Bir tablodaki satırlar nasıl sayılır?
VBA: Bir çalışma kitabındaki sayfaların sayısı nasıl sayılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir