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 Turtle ”
End 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 Turtle ”
End If
Range(" B " & i) = Result
Next i
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Стовпець B повідомляє нам, чи містять відповідні клітинки в стовпці A «черепаху» десь у тексті.
Примітка . Ви можете знайти повну документацію для методу VBA Instr тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: як підрахувати випадки появи символів у рядку
VBA: як перевірити, чи містить рядок інший рядок