Operátor VBA „Is“ se používá ke srovnání dvou referencí objektů.
Pokud jsou odkazy na objekty stejné, Je vrátí PRAVDA. Pokud se odkazy na objekty liší, Je vrátí FALSE.
Není nic
Nejběžnější použití souboru Je operátor má zkontrolovat, zda byl objekt přiřazen k proměnné objektu.
Jak to funguje, můžete vidět v níže uvedeném postupu:
123456789101112 | Sub Is nothing ()Dim ws As Worksheet'Set ws = ActiveSheetPokud ws Is Nothing ThenMsgBox „Nepřiřazeno“JinýMsgBox „Přiřazeno“Konec IfEnd Sub |
To je užitečné, aby se zabránilo chybám způsobeným tím, že objekt není přiřazen k proměnné objektu.
Intersect - Is nothing
Běžně se to používá u událostí změny pracovního listu k identifikaci, zda cílový rozsah spadá do zadaného rozsahu.
1234567 | Soukromý dílčí pracovní list_Změna (cíl podle cíle jako rozsah)Pokud není protínat (cíl, rozsah ("a1: a10")), pak není nicMsgBox "Intersect"Konec IfEnd Sub |
Je - Porovnat objekty
K porovnávání objektů lze použít také operátor Is.
Podívejme se na příklad. Zde přiřadíme dva listy k objektům listu rng1 a rng2, přičemž testujeme, zda dva objekty listu ukládají stejný list:
12345678910111213 | Sub CompareObjects ()Dim ws1 jako pracovní list, ws2 jako pracovní listSada ws1 = Listy ("List1")Nastavit ws2 = listy ("list2")Pokud ws1 Is ws2 ThenMsgBox "Stejné WS"JinýMsgBox „Různé WS“Konec IfEnd Sub |
Objekty listu samozřejmě nejsou stejné, takže je vráceno „Různé WS“.