Оглавление
В этой статье я покажу вам, как можно использовать Если заявление в VBA в Excel на основе значения ячейки.
Excel VBA: заявление If на основе значения ячейки (быстрый просмотр)
Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub
Скачать Практическое пособие
Скачайте эту рабочую тетрадь для тренировок, чтобы заниматься во время чтения этой статьи.
If Statement Based on Cell Value.xlsmУтверждение If на основе значения ячейки в Excel VBA
Здесь у нас есть рабочий лист, который содержит имена и знаки некоторых учеников школы на экзамене.
Наша цель - научиться использовать Если заявление в Excel VBA на основе значения ячейки из этого набора данных.
1. оператор If на основе значения ячейки в одной ячейке в Excel VBA
Прежде всего, мы научимся использовать оператор If, основанный на значении одной ячейки.
Например, попробуем узнать, сдала Наталья Остин экзамен или нет, то есть, была ли отметка в ячейке C3 больше, чем 40 или нет.
Колонка D содержит результат работы студентов. То есть, если ячейка C3 содержит отметку больше 40, ячейка D3 будет содержать "Прошел" . В противном случае он будет содержать "Не удалось" .
Мы будем использовать VBA Диапазон объект для создания этого Если заявление на основе значения ячейки.
Сайт VBA код для этого будет:
⧭ Код VBA:
Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub
⧭ Выход:
Запустите код из Run Sub / UserForm инструмент в VBA панель инструментов.
Это сделает клетку D3 содержать "Не удалось" , как отметка в ячейке C3 меньше, чем 40 ( 32 ).
2. Оператор If на основе значений диапазона ячеек в Excel VBA
Вы также можете использовать Если заявление на основе значений диапазона ячеек в VBA Вы можете использовать for-loop для этой цели.
Например, здесь мы можем узнать результат всех студентов с помощью одного кода. Мы выполним итерацию через a for-loop который проверит все ячейки в диапазоне C3:C12 и вернуть соответствующий результат, "Прошел" или "Не удалось" .
Сайт VBA код для этого будет:
⧭ Код VBA:
Sub If_Statement_Based_On_a_Range_of_Cells() For i = 1 To Range("C3:C12").Rows.Count If Range("C3:C12").Cells(i, 1).Value>= 40 Then Range("D3:D12").Cells(i, 1).Value = "Passed" Else Range("D3:D12").Cells(i, 1).Value = "Failed" End If Next i End Sub
⧭ Выход:
Запустите код из Run Sub / UserForm инструмент в VBA панель инструментов. Это вернет "Прошел" для оценок, которые больше 40 и "Failed" для тех, которые меньше, чем n 40 .
О чем следует помнить
Здесь я показал Если заявление с одним условием. Но если вы хотите, вы можете использовать несколько условий внутри Если заявление .
Если вы используете ИЛИ введите несколько условий, объедините их с помощью ИЛИ .
И если вы используете И введите несколько условий, объедините их с помощью И .
Например, чтобы проверить, стоит ли отметка в ячейке B3 больше, чем 40 и менее 50 или нет, используйте:
If (Range("C3").Value> 40 Or Range("C3").Value <50) Then