De VBA "Is" -operator wordt gebruikt om twee objectreferenties te vergelijken.
Als de objectreferenties hetzelfde zijn, Is zal WAAR retourneren. Als de objectreferenties verschillend zijn, Is zal ONWAAR retourneren.
Is niets
Het meest voorkomende gebruik van de Is operator is om te controleren of een object is toegewezen aan een objectvariabele.
In de onderstaande procedure kunt u zien hoe dit werkt:
123456789101112 | Sub Is Niets()Dim ws als werkblad'Stel ws = ActiveSheet in'Als ws niets is, danMsgBox "Niet toegewezen"AndersMsgBox "Toegewezen"Stop alsEinde sub |
Dit is handig om fouten te voorkomen die worden veroorzaakt doordat een object niet aan de objectvariabele is toegewezen.
Snijden - Is niets
Gewoonlijk wordt dit gebruikt met werkbladwijzigingsgebeurtenissen om te bepalen of het doelbereik binnen een bepaald bereik valt.
1234567 | Private Sub Worksheet_Change (ByVal-doel als bereik)Indien niet snijden (doel, bereik ("a1:a10")) is dan nietsMsgBox "Kruisen"Stop alsEinde sub |
Is - Objecten vergelijken
De operator Is kan ook worden gebruikt om objecten te vergelijken.
Laten we een voorbeeld bekijken. Hier zullen we twee werkbladen toewijzen aan werkbladobjecten rng1 en rng2, testen of de twee werkbladobjecten hetzelfde werkblad opslaan:
12345678910111213 | Sub CompareObjects()Dim ws1 als werkblad, ws2 als werkbladStel ws1 = Vellen ("Blad1") inStel ws2 = Vellen ("Blad2") inAls ws1 ws2 is, danMsgBox "Dezelfde WS"AndersMsgBox "Verschillende WS'en"Stop alsEinde sub |
Natuurlijk zijn de werkbladobjecten niet hetzelfde, dus "Verschillende WS's" wordt geretourneerd.