A VBA „Is” operátor két objektumreferencia összehasonlítására szolgál.
Ha az objektum hivatkozások megegyeznek, Van visszatér IGAZ. Ha az objektum hivatkozások eltérnek, Van visszatér HAMIS.
Semmiség
A leggyakoribb használata a Van a kezelőnek ellenőriznie kell, hogy egy objektum hozzá van -e rendelve egy objektumváltozóhoz.
Ennek működését az alábbi eljárásban láthatja:
123456789101112 | Sub Is Nothing ()Dim ws munkalapként'Set ws = ActiveSheetHa a ws semmi, akkorMsgBox "Nincs hozzárendelve"MásMsgBox "Hozzárendelve"Vége HaEnd Sub |
Ez hasznos lehet annak megakadályozására, hogy az objektumok ne legyenek hozzárendelve az objektumváltozóhoz.
Metszés - semmi
Általában ezt használják a munkalap -változási eseményekkel együtt annak azonosítására, hogy a céltartomány egy meghatározott tartományba esik -e.
1234567 | Privát almunkalap_csere (ByVal -cél tartományként)Ha nem metszi (cél, tartomány ("a1: a10")) akkor semmiMsgBox "Metszés"Vége HaEnd Sub |
Is - Objektumok összehasonlítása
Az Is operátor objektumok összehasonlítására is használható.
Nézzünk egy példát. Itt két munkalapot rendelünk az rng1 és rng2 munkalap -objektumokhoz, tesztelve, hogy a két munkalap -objektum ugyanazt a munkalapot tárolja -e:
12345678910111213 | Sub CompareObjects ()Dim ws1 munkalapként, ws2 munkalapkéntSet ws1 = Sheets ("Sheet1")Set ws2 = Táblázatok ("Lap2")Ha ws1 Is ws2 AkkorMsgBox "Ugyanaz a WS"MásMsgBox "Különböző WS -ek"Vége HaEnd Sub |
Természetesen a munkalap objektumai nem azonosak, ezért a „Különböző WS -ek” kerülnek visszaadásra.