Как запустить макрос при изменении значения ячейки в Excel?
Обычно в Excel мы можем нажать клавишу F5 или кнопку «Выполнить», чтобы выполнить код VBA. Но пробовали ли вы когда-нибудь запускать определенный макрос, когда значение ячейки изменяется? В этой статье я представлю несколько быстрых приемов для решения этой задачи в Excel.
Запуск или вызов макроса при изменении значения конкретной ячейки с помощью кода VBA
Запуск или вызов макроса при изменении значения любой ячейки в диапазоне с помощью кода VBA
Запуск или вызов макроса при изменении значения конкретной ячейки с помощью кода VBA
Чтобы запустить код макроса путем изменения значения ячейки, следующий код VBA может помочь вам, пожалуйста, сделайте следующее:
1. Щелкните правой кнопкой мыши вкладку листа, на которой вы хотите выполнить макрос при изменении значения ячейки, затем выберите «Вид Код» из контекстного меню, и в открывшемся окне Microsoft Visual Basic for Applications скопируйте и вставьте следующий код в пустой Модуль:
Код VBA: Запуск макроса при изменении значения ячейки:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Call Mymacro
End If
End Sub
Примечание: В приведенном выше коде A1 — это конкретная ячейка, на основе которой вы хотите запустить код, Mymacro — это имя макроса, который вы хотите запустить. Пожалуйста, измените их по своему усмотрению.
2. Затем сохраните и закройте окно кода, теперь, когда вы вводите или изменяете значение в ячейке A1, указанный код будет немедленно запущен.
Запуск или вызов макроса при изменении значения любой ячейки в диапазоне с помощью кода VBA
Если вы хотите запустить или активировать макрос при изменении значения любой ячейки в диапазоне ячеек, следующий код может вам помочь.
1. Щелкните правой кнопкой мыши вкладку листа, на которой вы хотите выполнить макрос при изменении значения ячейки, затем выберите «Вид Код» из контекстного меню, и в открывшемся окне Microsoft Visual Basic for Applications скопируйте и вставьте следующий код в пустой Модуль:
Код VBA: Запуск макроса при изменении значения любой ячейки в диапазоне:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B100")) Is Nothing Then
Call Mymacro
End If
End Sub
Примечание: В приведенном выше коде A1:B100 — это конкретные ячейки, на основе которых вы хотите запустить код, Mymacro — это имя макроса, который вы хотите запустить. Пожалуйста, измените их по своему усмотрению.
2. Затем сохраните и закройте окно кода, теперь, когда вы вводите или изменяете значение в любой ячейке диапазона A1:B100, указанный код будет выполнен немедленно.
Удаление всех макросов из нескольких книг
Kutools для Excel Пакетное удаление всех макросов поможет вам удалить все макросы из нескольких книг по вашему желанию. Скачайте и попробуйте бесплатно Kutools для Excel прямо сейчас!
Kutools для Excel: более 300 удобных надстроек Excel, бесплатно попробуйте без ограничений в течение 30 дней. Скачайте и попробуйте прямо сейчас!
Связанные статьи:
Как автоматически запускать макрос перед печатью в Excel?
Как запускать макрос на основе значения ячейки в Excel?
Как запускать макрос на основе значения, выбранного из выпадающего списка в Excel?
Как запускать макрос, щелкая гиперссылки в Excel?
Как запускать макрос при выборе листа из книги?
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!