Как запустить макрос в зависимости от значения ячейки в Excel?
Предположим, у вас есть несколько макросов в книге, и вы хотите запускать их в зависимости от значения ячейки. В этой статье рассматриваются различные ситуации, с которыми вы можете столкнуться при повседневной работе в Excel.
Запуск или активация макроса, если ячейка Значение равно определённый текст, с помощью кода VBA
Запуск или активация макроса, если значение ячейки больше или меньше определённого значения, с помощью кода VBA
Например, если значение в ячейке A1 находится в диапазоне от 10 до 50, запускается macro1, а если значение превышает 50 — запускается macro2. Чтобы реализовать это в Excel, используйте приведённый ниже код VBA.
1. Щёлкните правой кнопкой мыши по ярлыку листа, на котором нужно запускать макрос на основе значения ячейки, и выберите в контекстном меню пункт Просмотреть код. В открывшемся окне Microsoft Visual Basic для приложений скопируйте и вставьте приведённый ниже код в пустой модуль:
Код VBA: запуск макроса, если значение ячейки больше или меньше:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Cells.Count > 1 Then Exit Sub
If IsNumeric(Target) And Target.Address = "$A$1" Then
Select Case Target.Value
Case 10 To 50: Macro1
Case Is > 50: Macro2
End Select
End If
End Sub

Примечание: в приведённом выше коде:
A1— это ячейка, содержащая значение, на основе которого должен запускаться макрос;
Case 10 To 50: Macro1: означает, что если значение находится между 10 и 50, запускается Macro1;
Case Is > 50: Macro2: означает, что если значение больше 50, запускается Macro2.
Измените названия макросов и критерии в соответствии со своими задачами. Вы также можете добавить дополнительные условия, следуя структуре оператора Case.
2. Сохраните и закройте окно кода. Теперь при вводе значения от 10 до 50 в ячейку A1 будет запущен Macro1, а если введённое значение больше 50 — выполнится Macro2.

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Запуск или активация макроса, если ячейка Значение равно определённый текст, с помощью кода VBA
Если вы хотите запускать макрос в зависимости от текста, введённого в ячейку — например, активировать macro1 при вводе «Delete» и macro2 при вводе «Insert», — следующий код поможет вам реализовать это.
1. Щёлкните правой кнопкой мыши по листу, на котором нужно запускать макрос в зависимости от значения ячейки, и выберите в контекстном меню пункт Просмотреть код. В открывшемся окне Microsoft Visual Basic для приложений скопируйте и вставьте приведённый ниже код в пустой модуль:
Код VBA: запуск макроса, если значение ячейки представляет собой определённый текст
Sub worksheet_change(ByVal target As Range)
Set target = Range("A1")
If target.Value = "Delete" Then
Call Macro1
End If
If target.Value = "Insert" Then
Call Macro2
End If
End Sub

Примечание: в приведённом выше коде «Delete» и «Insert» — это тексты в ячейке, на основе которых запускаются макросы, а Macro1 и Macro2 — макросы, выполняемые в зависимости от содержимого ячейки. Настройте их под свои задачи.
2. Затем сохраните этот код и закройте окно. Теперь при вводе текста «Delete» в ячейку A1 будет запущен macro1, а при вводе «Insert» — выполнен macro2.
См. также:
Как запустить макрос при изменении значения ячейки в Excel?
Как автоматически запустить макрос перед печатью в Excel?
Как запустить макрос в зависимости от значения, выбранного в раскрывающемся списке Excel?
Как запустить макрос, просто щёлкнув по гиперссылке в Excel?
Как запустить макрос при выборе листа в книге Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек