VBA Like Operator
Like е оператор във VBA и това е оператор за сравнение, който сравнява даден низ като аргумент в набор от низове и той съвпада с модела, ако моделът е съпоставен, полученият резултат е истина и ако моделът не съвпада, тогава Полученият резултат е невярен, това е вграден оператор във VBA.
ОПЕРАТОРЪТ „LIKE“ е най-слабо използваният оператор въпреки прекрасното му използване. Не съм виждал много хора, които използват този оператор в пълна степен в кодирането си. Всъщност аз съм от тях, които не използват този оператор доста често. Операторът „VBA LIKE“ ни позволява да съпоставим модела на низа с пълния низ. Чрез използване на VBA LIKE оператор можем да сравним два низа спрямо дадения шаблон. Можем да проверим дали низът съдържа подниз в VBA или също така дали низът съдържа някакъв специфичен формат. Ако моделът съвпада с низа, тогава операторът VBA LIKE връща TRUE или FALSE.
Докато съвпадаме с низовете, ние трябва да използваме заместващи символи за посочения от нас шаблон. По-долу са заместващите символи, които използваме в оператора VBA LIKE.
- Въпросителен знак (?): Използва се за съвпадение на който и да е символ от низа. Например, ако имаме низ „CAT“ и моделът е „C? T“, тогава операторът VBA LIKE връща TRUE. Ако низът е „CATCH и моделите са„ C? T “, тогава операторът VBA LIKE връща FALSE.
- Звездичка (*): Това съвпада с нула или повече знака. Например, ако низът е „Добър“ и моделът е „G ** d“, VBA LIKE операторът връща TRUE.
- Скоби ([]): Това съвпада с всеки един символ, посочен в скобите.
- [Char-Char]: Това съвпада с всеки един знак от обхвата Char-Char.
- [! Символи]: Това съвпада с всеки един символ, който не е в списъка.
- [! Char-Char]: Това съвпада с всеки един символ, който не е в диапазона Char-Char.
Примери за VBA LIKE Operator
Нека да видим някои от примерите за VBA LIKE оператор сега.
Можете да изтеглите този шаблон на VBA Like Excel тук - VBA Like Excel Template
Пример # 1 - С въпросителна
Код:
Sub QuestionMark_Example1 () Dim k As String k = "Good" If k Like "Go? D" Тогава MsgBox "Yes" Else MsgBox "No" End If End Sub
В горния код сме предоставили низа като „Добър“, а моделът е „Go? D“. Тъй като въпросителният знак може да съвпада с един знак, той ще покаже резултата като „Да“.
Сега ще сменя низа на „Добро утро“.
Код:
Sub QuestionMark_Example1 () Dim k As String k = "Добро утро" Ако k Like "Go? D" Тогава MsgBox "Да" Иначе MsgBox "Не" End If End Sub
В този случай той ще покаже „Не“, защото сме добавили още една дума към низа, т.е. сутрин. За да съответстваме на произволен брой знаци, трябва да използваме звездичката.
Пример # 2 - със звездичка
Код:
Sub QuestionMark_Example2 () Dim k As String k = "Добро утро" Ако k Like "* Good *" Тогава MsgBox "Да" Иначе MsgBox "Не" Край Ако край Sub
В горния пример съм добавил две звездички преди и след символа “* Добър *”. Това ще съответства на думата „Добро“ в низа „Добро утро“ и връща „Да“.
Пример # 3 - със скоби []
Код:
Sub QuestionMark_Example3 () Dim k As String k = "Добро утро" Ако k Like "* [M] *" Тогава MsgBox "Да" В противен случай MsgBox "Не" Край Ако край Sub
Горният код съвпада с единичната буква, спомената в скобата „M“ и връща резултата като Да.
Пример # 4 - Със скоби и азбуки [AZ]
Код:
Sub QuestionMark_Example4 () Dim k As String k = "Добро утро" Ако k Like "* [AD] *" Тогава MsgBox "Да" Иначе MsgBox "Не" Край Ако край Sub
В горното споменах символите, които да съвпадат от А до Г.
Това ще се върне "Не", защото няма никакви знаци от А до D в низа "Добро утро" .
Сега ще сменя модела на [AH]
Код:
Sub QuestionMark_Example4 () Dim k As String k = "Добро утро" Ако k Like "* [AH] *" Тогава MsgBox "Да" Иначе MsgBox "Не" Край Ако край Sub
Това ще върне „Да“, защото от А до Н имаме знак „G“ в низа „Добро утро“
По този начин можем да използваме VBA оператор „LIKE“, за да съпоставим всеки низ от шаблона със символи на заместваща карта.