VBA “Is” -operatoren bruges til at sammenligne to objektreferencer.
Hvis objektreferencerne er de samme, Er vender tilbage SAND. Hvis objektreferencerne er forskellige, Er vil returnere FALSKT.
Er ingenting
Den mest almindelige brug af Er operatøren skal kontrollere, om et objekt er blevet tildelt en objektvariabel.
Du kan se, hvordan dette fungerer i proceduren herunder:
123456789101112 | Sub er intet ()Dim ws Som regneark'Indstil ws = ActiveSheetHvis ws er ingenting såMsgBox "Ikke tildelt"AndetMsgBox "Tildelt"Afslut HvisAfslut Sub |
Dette er nyttigt for at forhindre fejl forårsaget af, at et objekt ikke tildeles objektvariablen.
Kryds - er ingenting
Normalt bruges dette sammen med regnearksændringshændelser til at identificere, om målområdet falder inden for et bestemt område.
1234567 | Private Sub Worksheet_Change (ByVal Target As Range)If Not Intersect (Target, Range ("a1: a10")) er ingenting derefterMsgBox "Kryds"Afslut HvisAfslut Sub |
Er - Sammenlign objekter
Operatoren Is kan også bruges til at sammenligne objekter.
Lad os se på et eksempel. Her vil vi tildele to regneark til regnearksobjekter rng1 og rng2, og teste om de to regnearksobjekter gemmer det samme regneark:
12345678910111213 | Sub CompareObjects ()Dim ws1 som regneark, ws2 som regnearkSæt ws1 = Ark ("Ark1")Sæt ws2 = Ark ("Ark2")Hvis ws1 er ws2 SåMsgBox "Samme WS"AndetMsgBox "Forskellige WS'er"Afslut HvisAfslut Sub |
Regnearksobjekterne er naturligvis ikke de samme, så "forskellige WS'er" returneres.