VBA “Is” operatörü, iki nesne referansını karşılaştırmak için kullanılır.
Nesne referansları aynıysa, NS DOĞRU döndürür. Nesne referansları farklıysa, NS YANLIŞ döndürür.
Hiçbir şey
En yaygın kullanımı NS operatörü, bir nesnenin bir nesne değişkenine atanıp atanmadığını kontrol etmektir.
Bunun nasıl çalıştığını aşağıdaki prosedürde görebilirsiniz:
123456789101112 | Alt Hiçbir Şey Değil()Dim ws As Çalışma SayfasıSet ws = ActiveSheetEğer ws Hiçbir Şey DeğilseMsgBox "Atanmadı"BaşkaMsgBox "Atandı"BitirAlt Bitiş |
Bu, nesne değişkenine atanmamış bir nesnenin neden olduğu hataları önlemek için kullanışlıdır.
Intersect - Hiçbir Şey Değildir
Genellikle bu, hedef aralığın belirli bir aralığa düşüp düşmediğini belirlemek için Çalışma Sayfası Değişikliği Olayları ile birlikte kullanılır.
1234567 | Private Sub Worksheet_Change(ByVal Target As Range)Kesişmiyorsa(Hedef, Aralık("a1:a10")) O Zaman Hiçbir Şey DeğildirMsgBox "Kesişim"BitirAlt Bitiş |
Olur - Nesneleri Karşılaştır
Is operatörü, nesneleri karşılaştırmak için de kullanılabilir.
Bir örneğe bakalım. Burada rng1 ve rng2 çalışma sayfası nesnelerine iki çalışma sayfası atayacağız ve iki çalışma sayfası nesnesinin aynı çalışma sayfasını depolayıp depolamadığını test edeceğiz:
12345678910111213 | Alt CompareObjects()Dim ws1 As Worksheet, ws2 As Worksheetws1 = Sayfaları ayarla("Sayfa1")ws2 = Sayfaları ayarla("Sayfa2")Eğer ws1 ws2 iseMsgBox "Aynı WS"BaşkaMsgBox "Farklı WS'ler"BitirAlt Bitiş |
Elbette çalışma sayfası nesneleri aynı değildir, bu nedenle “Farklı WS'ler” döndürülür.