backtotop
Полезные макросы Excel. Простые возможности VBA, которые я часто использую
Абзац в Excel. Как начать с новой строки в ячейке

В Excel множество функций, но некоторые возможности не видны на первый взгляд. Неудивительно, ведь неизвестно, что может пригодиться пользователю, поэтому нет смысла выносить все на основную панель. Часто нужно выполнить какое-то действие при определенном условии, решаемое формулой. Но что, если вам необходимо выполнять действие/макрос при изменении ячейки листа Excel. Это тоже можно сделать при помощи макроса VBA. А как запустить макрос при изменении ячейки?

Чтобы запустить макрос (действие) при изменении данных в ячейке, существует несколько возможностей. Мне больше всего нравится эта конструкция:

Макрос, выполняемый при изменении ячейки

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("A1")) Is Nothing Then
   If Target = 0 Then
     MsgBox "Запустите Ваше действие"
   End If
 End If
End Sub

Вставьте вместо MsgBox «Запустите Ваше действие» ваш код. Полезные макросы можно посмотреть в этой статье. Для этого макроса если, ячейка А1 становится нулевой, то появляется сообщение (MsgBox) «Запустите Ваше действие».

Как запустить макрос при изменении ячейки?

Сперва включите вкладку Разработчик. Затем пройдите в меню Visual Basic, первый значок слева на картинке (или нажмите Alt+f11):

изменение ячейки

Важно! Чтобы запустить код типа Worksheet_Change, необходимо записать код не в модуль макроса, а в саму книгу! Подробнее здесь:

макрос при изменении ячейки

Выберите нужную книгу и нужный лист (в примере Лист1), кликнув два раза по листу и в правом окне вставьте код, указанный выше. Если вам нужно, чтобы ваше действие выполнялось, когда ячейка изменяет значение на заполненную, то нужно изменить текст Target = 0 на Target <> 0.

Лично я рекомендую добавить больше условий, при каких действиях будет выполняться ваше действие, чтобы макрос не запускался при любом изменении. Вообще надо быть аккуратным с этой функцией. Бывает и такое — вы забываете, что есть макрос с условиями, а информация изменяется, можно даже не заметить этого

 

Полезные макросы Excel. Простые возможности VBA, которые я часто использую
Абзац в Excel. Как начать с новой строки в ячейке

Комментарии:

К этой записи пока нет комментариев. Возможно вы будете первым?

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