Запобігти VBA з урахуванням регістру - Параметр Порівняти текст

Під час роботи у VBA вам часто доводиться порівнювати рядки. За замовчуванням, VBA чутливий до регістру, тому, якщо порівнювати два однакових тексти, і один із них пишеться з верхнього регістру, а інший з нижнього регістру, VBA розглядатиме їх як різні тексти. У цьому навчальному посібнику ви побачите, як запобігти чутливості регістру до VBA.

Зробити регістр VBA нечутливим

Для того, щоб зробити VBA чутливим до регістру, вам потрібно поставити Опція Порівняти текст на початку модуля. По -перше, ми розглянемо стандартну поведінку VBA без цього набору параметрів. Це код:

123456789 Якщо Sheet1.Range ("A1"). Значення = Sheet1.Range ("B1"). Значення ТодіMsgBox "Два тексти однакові"ІнакшеMsgBox "Два тексти різні"Закінчити Якщо

У прикладі ми хочемо порівняти рядки з A1 та B1. Якщо рядки рівні, ми повернемо вікно повідомлення з повідомленням «Два тексти однакові». Якщо вони не рівні, ми повернемо повідомлення «Два тексти різні.

Зображення 1. Порівняння рядків без опції Порівняти текст

Як ви можете бачити на малюнку, обидва тексти однакові, але перший - у верхньому регістрі, а другий - у нижньому регістрі. Через це VBA вважає їх різними і повертає це повідомлення.

1234567891011 Опція Порівняти текстПублічний підреєстрSensitiveTest ()Якщо Sheet1.Range ("A1"). Значення = Sheet1.Range ("B1"). Значення ТодіMsgBox "Два тексти однакові"ІнакшеMsgBox "Два тексти різні"Закінчити ЯкщоEnd Sub

Тепер ми додамо Option Compare Text на початку модуля і побачимо різницю. Ось код. Ми запускаємо код на тому ж прикладі:

Зображення 2. Порівняння рядків з опцією Порівняти текст

Тепер, коли встановлено параметр «Порівняти текст», VBA стає нечутливим до регістру і вважає ці два тексти однаковими.

Порівняння тексту

Якщо ви не декларуєте Опція Порівняти текст, Ви можете конвертувати рядкові регістри, щоб проводити порівняння без урахування регістру. Це можливо за допомогою функцій UCase, LCase або StrConv. Детальніше про це можна дізнатися тут: Верхній, нижній та правильний регістр VBA - Функції футляра

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave