Найти в Дзене
Макрос решает

🔍 Условный оператор If Then Else в VBA: учим Excel принимать решения

Когда Excel должен что-то делать в зависимости от условия, тебе нужен If Then Else.
Это как развилка: если условие выполнено — делаем одно, если не выполнено — другое. Вот базовая форма оператора: If условие Then ' действия, если условие истинно Else ' действия, если условие ложно End If Пусть в ячейке A1 находится число. Если оно больше 10 — пишем "OK", иначе — "Мало". Sub CheckValue() If Cells(1, 1).Value > 10 Then Cells(1, 2).Value = "OK" Else Cells(1, 2).Value = "Мало" End If End Sub Проверим значения в диапазоне A1:A5 и выделим зелёным те, что больше 50: Sub HighlightValues() Dim i As Integer For i = 1 To 5 If Cells(i, 1).Value > 50 Then Cells(i, 1).Interior.Color = RGB(0, 255, 0) Else Cells(i, 1).Interior.Color = RGB(255, 0, 0) End If Next i End Sub Когда условий больше двух, можно использовать ElseIf: If x > 100 Then MsgBox "Слишком много" ElseIf x > 50 Then MsgBox "Достаточно" Else MsgBox "Маловато" End If If Then Else — это сердце любой логики в VBA.
С ним ты можешь превратить
Оглавление

Когда Excel должен что-то делать в зависимости от условия, тебе нужен If Then Else.
Это как развилка: если условие
выполнено — делаем одно, если не выполнено — другое.

🧠 Синтаксис If Then Else

Вот базовая форма оператора:

If условие Then
' действия, если условие истинно
Else
' действия, если условие ложно
End If

✅ Пример 1: простое условие

Пусть в ячейке A1 находится число. Если оно больше 10 — пишем "OK", иначе — "Мало".

Sub CheckValue()
If Cells(1, 1).Value > 10 Then
Cells(1, 2).Value = "OK"
Else
Cells(1, 2).Value = "Мало"
End If
End Sub

🔁 Пример 2: вложенный в цикл

Проверим значения в диапазоне A1:A5 и выделим зелёным те, что больше 50:

Sub HighlightValues()
Dim i As Integer
For i = 1 To 5
If Cells(i, 1).Value > 50 Then
Cells(i, 1).Interior.Color = RGB(0, 255, 0)
Else
Cells(i, 1).Interior.Color = RGB(255, 0, 0)
End If
Next i
End Sub

🧩 Где это использовать?

  • 🔒 Проверка правильности ввода данных
  • 📊 Условное форматирование
  • 🧠 Управление логикой внутри циклов
  • ⚙️ Настройка поведения макросов при разных условиях

➕ Дополнительно: ElseIf

Когда условий больше двух, можно использовать ElseIf:

If x > 100 Then
MsgBox "Слишком много"
ElseIf x > 50 Then
MsgBox "Достаточно"
Else
MsgBox "Маловато"
End If

🚨 Советы

  • Всегда закрывай блок If командой End If (если пишешь в несколько строк).
  • Сравнивать можно числа, строки, логические значения (True/False).
  • Условие можно составлять с помощью =, >, <, <>, And, Or и т.д.

🏁 Вывод

If Then Else — это сердце любой логики в VBA.
С ним ты можешь
превратить макрос в "думающий" механизм, который адаптируется под данные и действует по ситуации.