VBA Like Operator

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

Якщо ви хочете дізнатися, як порівнювати рядки у VBA, натисніть тут: VBA Порівняти рядки - StrComp

Якщо ви хочете дізнатися, як використовувати оператори порівняння, натисніть тут: Оператори порівняння VBA - не дорівнює & Більше

Використання оператора Like для порівняння двох рядків

За допомогою оператора Like ми можемо перевірити, чи починається рядок з певного тексту, включає його тощо. За замовчуванням файл Подобається оператор порівнює символи за допомогою двійкового методу. Це означає, що оператор чутливий до регістру. Якщо ви хочете зробити його безчутливим до регістру, вам потрібно поставити Опція Порівняти текст у верхній частині вашого модуля. Використовуючи цей метод, Подобається оператор вважає "S" і "s" тими самими символами. У наших прикладах ми будемо використовувати порівняння за умовчанням з урахуванням регістру.

Якщо відповідність існує, файл Подобається в результаті оператор повертає True або False в іншому випадку.

По -перше, ми розглянемо простий приклад, де ми хочемо перевірити, чи починається наша рядкова змінна Містер. Для цього вам потрібно поставити зірочку (*) в кінці відповідного тексту (Містер*). Ось код:

1234567891011121314 Sub LikeDemo ()Dim strName As StringDim blnРезультат БулевоstrName = "Містер Майкл Джеймс"Якщо strName як "Mr*" ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити ЯкщоEnd Sub

У цьому прикладі ми хочемо перевірити, чи є рядок strName починається з Містер і повернути значення True або False у змінній blnResult.

Спочатку ми встановлюємо значення strName до Пан Майкл Джеймс:

1 strName = "Містер Майкл Джеймс"

Тоді ми використовуємо Подобається оператор у операторі If:

12345 Якщо strName як "Mr*" ТодіblnResult = ПравдаІнакшеblnResult = НеправдаЗакінчити Якщо

Як і strName починається з Містер, blnResult повертає True:

Зображення 1. За допомогою оператора «Like» перевірити, чи починається рядок з певних символів

Використання подібного оператора з різними шаблонами відповідності

Оператор Like може перевірити відповідність двох рядків на основі різних шаблонів. Ось список можливих шаблонів відповідності:

Код шаблону

Тип відповідності

*

Відповідає 0 або більше символам

?

Відповідає одному символу

#

Відповідає одній цифрі

[символи]

Відповідає одному символу зі списку символів

[А-Я]

Відповідає будь -якому великому символу з алфавіту

[A-Za-z]

Відповідає будь -якому символу з алфавіту

[! символи]

Відповідає одному символу, крім списку символів

Тепер ми можемо побачити, як використовувати ці шаблони в коді. Ось приклад для кількох шаблонів:

Відповідність одному символу:

1234567 strText1 = "ABCDE"Якщо strText1 Як "AB? DE" ТодіblnResult1 = ПравдаІнакшеblnResult1 = НеправдаЗакінчити Якщо

Відповідність одній цифрі:

1234567 strText2 = "AB7DE"Якщо strText2 Як "AB#DE" ТодіblnResult2 = ІстинаІнакшеblnResult2 = НеправдаЗакінчити Якщо

Відповідність будь -якому великому символу з алфавіту:

1234567 strText3 = "ABCDE"Якщо strText3 Як "AB [A-Z] DE" ТодіblnResult3 = ПравдаІнакшеblnResult3 = НеправдаЗакінчити Якщо

Не відповідає жодному великому символу з алфавіту:

1234567 strText4 = "AB7DE"Якщо strText4 Як "AB [! A-Z] DE" ТодіblnResult4 = ПравдаІнакшеblnResult4 = НеправдаЗакінчити Якщо

Відповідність будь -якому символу з алфавіту (великі чи малі літери):

1234567 strText5 = "ABcDE"Якщо strText5 Як "AB [A-Za-z] DE" ТодіblnResult5 = ПравдаІнакшеblnResult5 = НеправдаЗакінчити Якщо

Під час виконання коду ви можете побачити, що файл Подобається оператор повертає True in blnResult змінні для кожного порівняння:

Зображення 2. Використання оператора Like з різними шаблонами відповідності

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

wave wave wave wave wave