Operator VBA „Is” służy do porównywania dwóch odwołań do obiektów.
Jeśli odniesienia do obiektów są takie same, Jest zwróci TRUE. Jeśli odniesienia do obiektów są różne, Jest zwróci FAŁSZ.
Jest niczym
Najczęstsze zastosowanie Jest operatorem jest sprawdzenie, czy obiekt został przypisany do zmiennej obiektowej.
Możesz zobaczyć, jak to działa w poniższej procedurze:
123456789101112 | Sub jest niczym()Dim ws As Worksheet'Ustaw ws = Aktywny arkuszJeśli ws jest niczym, toMsgBox "Nieprzypisany"W przeciwnym razieMsgBox "Przypisany"Zakończ, jeśliNapis końcowy |
Jest to przydatne, aby zapobiec błędom spowodowanym przez nieprzypisanie obiektu do zmiennej obiektu.
Przecięcie - jest niczym
Zwykle jest to używane w przypadku zdarzeń zmiany arkusza roboczego w celu określenia, czy zakres docelowy mieści się w określonym zakresie.
1234567 | Private Sub Worksheet_Change (ByVal Target As Range)Jeśli nie przecina(cel, zakres("a1:a10")) jest niczym wtedyMsgBox "Przecięcie"Zakończ, jeśliNapis końcowy |
Jest - Porównaj obiekty
Operator Is może być również używany do porównywania obiektów.
Spójrzmy na przykład. Tutaj przypiszemy dwa arkusze do obiektów arkusza rng1 i rng2, sprawdzając, czy dwa obiekty arkusza przechowują ten sam arkusz:
12345678910111213 | Sub PorównajObiekty()Dim ws1 jako arkusz roboczy, ws2 jako arkusz roboczyUstaw ws1 = Arkusze("Arkusz1")Ustaw ws2 = Arkusze("Arkusz2")Jeśli ws1 Czy ws2 WtedyMsgBox "Ten sam WS"W przeciwnym razieMsgBox "Różne WS"Zakończ, jeśliNapis końcowy |
Oczywiście obiekty arkusza roboczego nie są takie same, więc zwracane jest „Różne WS”.