Автоматический запуск макроса при изменении книги
Добрый день, уважаемые читатели блога! Сегодня речь пойдёт снова о макросах, но не их написании, а применении по условию.
Дано: есть книга, в которую с разной периодичностью добавляются данные, необходимо, чтобы при появлении в любой ячейке слова "Выручка", к этой ячейке добавлялся комментарий "Сдать в банк".
Макрос для вставки примечаний и видео можно найти ЗДЕСЬ. На всякий случай приведу его текст.
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.
Сохраняемся и проверяем работу книги. Вставим строчку в таблицу с другого листа.
Теперь при любом изменении листа в обозначенном диапазоне в ячейках с "Выручкой" будет появляться примечание!