Оператор Like VBA

В VBA вы можете сравнить две строки, используя Нравиться оператор для проверки соответствия строк. В этом руководстве вы узнаете, как использовать этот оператор с различными шаблонами.

Если вы хотите узнать, как сравнивать строки в VBA, щелкните здесь: VBA Compare Strings - StrComp

Если вы хотите узнать, как использовать операторы сравнения, щелкните здесь: Операторы сравнения VBA - не равно и др.

Использование оператора Like для сравнения двух строк

С помощью оператора Like мы можем проверить, начинается ли строка с определенного текста, включает ли его и т. Д. По умолчанию Нравиться Оператор сравнивает символы с помощью двоичного метода. Это означает, что оператор чувствителен к регистру. Если вы хотите сделать регистр нечувствительным, вам нужно поставить Вариант Сравнить текст в верхней части вашего модуля. Используя этот метод, Нравиться оператор считает «S» и «s» одними и теми же символами. В наших примерах мы будем использовать сравнение по умолчанию с учетом регистра.

Если соответствие существует, Нравиться Оператор возвращает True в результате или False в противном случае.

Сначала мы рассмотрим простой пример, в котором мы хотим проверить, начинается ли наша строковая переменная с Мистер. Для этого нужно поставить звездочку (*) в конце совпадающего текста (Мистер*). Вот код:

1234567891011121314 Sub LikeDemo ()Dim strName As StringDim blnResult As BooleanstrName = "Мистер Майкл Джеймс"Если strName Like "Mr *" ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, еслиКонец подписки

В этом примере мы хотим проверить, есть ли строка strName начинается с Мистер и верните True или False в переменной blnResult.

Сначала мы устанавливаем значение strName к Г-н Майкл Джеймс:

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

Затем мы используем Нравиться оператор в операторе If:

12345 Если strName Like "Mr *" ТогдаblnResult = TrueЕщеblnResult = ЛожьКонец, если

Как strName начинается с Мистер, то blnResult возвращает True:

Изображение 1. Использование оператора Like, чтобы проверить, начинается ли строка с определенных символов.

Использование оператора 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 = TrueЕщеblnResult3 = ЛожьКонец, если

Не соответствует ни одному прописному символу алфавита:

1234567 strText4 = "AB7DE"Если strText4 Как "AB [! A-Z] DE" ТогдаblnResult4 = ИстинаЕщеblnResult4 = ЛожьКонец, если

Соответствие любому символу алфавита (в верхнем или нижнем регистре):

1234567 strText5 = "ABcDE"Если strText5 Как "AB [A-Za-z] DE" ТогдаblnResult5 = ИстинаЕщеblnResult5 = ЛожьКонец, если

Когда вы выполните код, вы увидите, что Нравиться оператор возвращает True в blnResult переменные для каждого сравнения:

Изображение 2. Использование оператора Like с разными шаблонами сопоставления

wave wave wave wave wave