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

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

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

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

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

 

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.

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

 

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

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

 

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

 

Post Author: Иван

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

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