Автоматический запуск макроса по условию

Автоматический запуск макроса при изменении книги

Добрый день, уважаемые читатели блога! Сегодня речь пойдёт снова о макросах, но не их написании, а применении по условию.

Дано: есть книга, в которую с разной периодичностью добавляются данные, необходимо, чтобы при появлении в любой ячейке слова "Выручка", к этой ячейке добавлялся комментарий "Сдать в банк". 

Макрос для вставки примечаний и видео можно найти ЗДЕСЬ. На всякий случай приведу его текст.

 

Sub CreateComments()

Dim cell As Range

' Производим поиск по всем ячейкам диапазона и добавляем примечания _

ко всем ячейкам, содержащим слово "Выручка"

For Each cell In Range("A1:Z300")

If cell.Value Like "*Выручка*" Then

cell.ClearComments

cell.AddComment "Сдать в банк"

End If

Next

End Sub

Вставляем новый модуль:

  • Вкладка "Разработчик", блок кнопок "Код", кнопка "Visual Basic";
  • Далее "Insert" - > "Module";
  • Вставляем текст макроса.

 

Теперь нам нужно сделать так, чтобы при любом изменении книги и появлении слова "Выручка", макрос запускался. Решил упростить до неприличия, давайте будем запускать макрос просто при изменении книги. Также в макросе нужно изменить диапазон действия, чтобы обрабатывались нужные вам ячейки.

Для этого в поле Project - VBA Project даём двойной щелчок на строчке Лист1. В появившемся окне между строчками "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" и "End Sub" разместим следующий код: Call CreateComments.

автоматический запуск макроса

 

Сохраняемся и проверяем работу книги. Вставим строчку в таблицу с другого листа.

автоматический запуск макроса

 

Теперь при любом изменении листа в обозначенном диапазоне в ячейках с "Выручкой" будет появляться примечание! 

 

Автор записи: Иван

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.