Excel VBA: оператор If на основе значения ячейки (2 практических примера)

  • Поделись Этим
Hugh West

В этой статье я покажу вам, как можно использовать Если заявление в 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 

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.