Як використовувати оператор like у vba (з прикладами)
Ви можете використовувати оператор Like у VBA, щоб визначити, чи містить рядок певний шаблон.
Наприклад, ви можете використовувати такий синтаксис, щоб перевірити, чи кожен рядок у діапазоні комірок A2:A10 містить підрядок “hot” і відобразити результати в діапазоні B2:B10 :
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як використовувати оператор Like у VBA
Припустімо, що в Excel є такий список продуктів:
Ми можемо створити такий макрос, щоб перевірити, чи кожен рядок у стовпці A містить підрядок “hot” і відобразити результати у стовпці B:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "*hot*" Then
Range("B" & i) = "Contains hot"
Else
Range("B" & i) = "Does not contain hot"
End If
Next i
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Стовпець B вказує, чи містить кожна відповідна клітинка в стовпці A «гарячий» підрядок.
Зверніть увагу, що ми використовували зірочки ( * ) навколо підрядка, щоб вказати, що будь-який символ може стояти перед або після «гарячого» рядка в клітинці.
Якщо натомість ми хочемо перевірити, чи кожен рядок починається з «hot», ми можемо поставити зірочку лише після підрядка:
SubCheckLike ()
Dim i As Integer
For i = 2 To 10
If Range("A" & i) Like "hot*" Then
Range("B" & i) = "Starts with hot"
Else
Range("B" & i) = "Does not start with hot"
End If
Next i
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Стовпець B вказує , чи кожна відповідна клітинка у стовпці A починається зі слова “hot”.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання за допомогою VBA:
VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок
VBA: як підрахувати клітинки з певним текстом