Як використовувати оператор 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: як підрахувати клітинки з певним текстом

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *