VBA “Is” -operatoren brukes til å sammenligne to objektreferanser.
Hvis objektreferansene er de samme, Er kommer tilbake SANN. Hvis objektreferansene er forskjellige, Er vil returnere FALSK.
Er ingenting
Den vanligste bruken av Er operatøren skal kontrollere om et objekt er tilordnet en objektvariabel.
Du kan se hvordan dette fungerer i prosedyren nedenfor:
123456789101112 | Sub er ingenting ()Dim ws Som regneark'Sett ws = ActiveSheetHvis ws er ingenting daMsgBox "Ikke tilordnet"EllersMsgBox "Tildelt"Slutt omSlutt Sub |
Dette er nyttig for å forhindre feil forårsaket av at et objekt ikke blir tilordnet objektvariabelen.
Krysser - er ingenting
Vanligvis brukes dette med regnearksendringshendelser for å identifisere om målområdet faller innenfor et spesifisert område.
1234567 | Private Sub Worksheet_Change (ByVal Target As Range)If Not Intersect (Target, Range ("a1: a10")) er ingenting daMsgBox "Intersect"Slutt omSlutt Sub |
Er - Sammenlign objekter
Operatoren Is kan også brukes til å sammenligne objekter.
La oss se på et eksempel. Her vil vi tildele to regneark til regnearkobjekter rng1 og rng2, og teste om de to regnearkobjektene lagrer det samme regnearket:
12345678910111213 | Sub CompareObjects ()Dim ws1 Som regneark, ws2 Som regnearkSett ws1 = Ark ("Ark1")Sett ws2 = Sheets ("Sheet2")Hvis ws1 er ws2 DaMsgBox "Samme WS"EllersMsgBox "Ulike WS"Slutt omSlutt Sub |
Selvfølgelig er regnearkobjektene ikke de samme, så "Ulike WSer" returneres.