Оператор VBA "Є" використовується для порівняння двох посилань на об'єкти.
Якщо посилання на об’єкти однакові, Є поверне TRUE. Якщо посилання на об’єкти відрізняються, Є поверне FALSE.
Нічого
Найпоширеніше використання Є оператор повинен перевірити, чи присвоєно об’єкт змінної об’єкта.
Ви можете побачити, як це працює, у процедурі нижче:
123456789101112 | Sub IsNothing ()Затемнити як робочий аркуш'Встановити ws = ActiveSheetЯкщо ws нічого, тодіПовідомлення "Не призначено"ІнакшеПовідомлення "Призначено"Закінчити ЯкщоEnd Sub |
Це корисно для запобігання помилкам, спричиненим тим, що об’єкт не призначається об’єктній змінній.
Перетинатися - нічого
Зазвичай це використовується з подіями зміни робочого аркуша, щоб визначити, чи цільовий діапазон потрапляє в певний діапазон.
1234567 | Приватний робочий аркуш_Змінити (ціль ByVal як діапазон)Якщо не перетинається (ціль, діапазон ("a1: a10")), то нічогоПовідомлення "Перетинання"Закінчити ЯкщоEnd Sub |
Є - Порівняйте об’єкти
Оператор Is також можна використовувати для порівняння об'єктів.
Розглянемо приклад. Тут ми призначимо два аркуші об’єктам аркуша rng1 та rng2, перевіривши, чи об’єкти двох аркушів зберігають один і той же аркуш:
12345678910111213 | Sub CompareObjects ()Dim ws1 як робочий аркуш, ws2 як робочий аркушВстановити ws1 = Аркуші ("Аркуш1")Встановити ws2 = Аркуші ("Аркуш2")Якщо ws1 є ws2 ТодіПовідомлення "Те саме WS"ІнакшеMsgBox "Різні WS"Закінчити ЯкщоEnd Sub |
Звичайно, об’єкти аркуша не однакові, тому повертається “Різні WS”.