Vba: простая формула «если ячейка содержит»


Вы можете использовать следующий базовый синтаксис для использования формулы «если ячейка содержит» в VBA:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

В этом конкретном примере проверяется, содержит ли каждая ячейка в диапазоне A2:A8 слово «черепаха», а затем присваивается значение «Содержит черепаху» или «Не содержит черепаху» каждой соответствующей ячейке в диапазоне B2:B8 .

Примечание . Метод Instr проверяет, содержит ли строка другую строку, а метод LCase преобразует текст в нижний регистр для выполнения поиска без учета регистра.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: как использовать «Если ячейка содержит» в VBA

Предположим, у нас есть следующий список ячеек в Excel, каждая из которых содержит разный текст:

Предположим, мы хотим проверить, содержит ли каждая ячейка в диапазоне A2:A8 текст «черепаха», и отобразить результаты в соответствующих ячейках диапазона B2:B8 .

Для этого мы можем создать следующий макрос:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Столбец B сообщает нам, содержат ли соответствующие ячейки в столбце A слово «черепаха» где-нибудь в тексте.

Примечание . Полную документацию по методу VBA Instr можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как подсчитать вхождение символов в строку
VBA: как проверить, содержит ли строка другую строку

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *