Operaatorit VBA “Kas” kasutatakse kahe objektiviite võrdlemiseks.
Kui objektide viited on samad, On tagastab tõe. Kui objektide viited on erinevad, On naaseb VÄÄR.
Kas pole midagi
Kõige tavalisem kasutamine On operaator peab kontrollima, kas objekt on muutujale määratud.
Kuidas see toimib, näete järgmises menetluses:
123456789101112 | Alam pole midagi ()Dim ws töölehena'Määra ws = ActiveSheetKui ws pole midagi, siisSõnumikast "Pole määratud"MuiduSõnumikast "Määratud"Lõpp KuiEnd Sub |
See on kasulik, et vältida vigu, mis on põhjustatud sellest, et objekt ei ole objekti muutujale määratud.
Ristub - pole midagi
Tavaliselt kasutatakse seda koos töölehe muutmise sündmustega, et teha kindlaks, kas sihtvahemik jääb määratud vahemikku.
1234567 | Privaatne alamlehe muutmine (ByVal Target kui vahemik)Kui mitte ristuda (sihtmärk, vahemik ("a1: a10")) pole siis midagiMsgBox "Ristub"Lõpp KuiEnd Sub |
On - Objektide võrdlemine
Operaatorit Is saab kasutada ka objektide võrdlemiseks.
Vaatame näidet. Siin määrame töölehe objektidele rng1 ja rng2 kaks töölehte, katsetades, kas need kaks töölehe objekti salvestavad sama töölehe:
12345678910111213 | Sub CompareObjects ()Dim ws1 töölehena, ws2 töölehenaSet ws1 = Sheets ("Sheet1")Set ws2 = Sheets ("Sheet2")Kui ws1 on ws2 siisMsgBox "Sama WS"MuiduMsgBox "Erinevad WS -id"Lõpp KuiEnd Sub |
Muidugi pole töölehe objektid samad, seega tagastatakse „Erinevad WS -id”.