обработчик события - изменение значения ячейки

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
oleg_vm
Сообщения: 21
Зарегистрирован: 16 сен 2005, 10:19

как можно на действия в определённых ячеках (например, изменение значения) повесить обработчик - некоторую функцию?
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Можно использовать событие рабочего листа, например :

Код: Выделить всё

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Rem Здесь необходимая процедура
End Sub
Примечание : Этот макрос необходимо разместить только в модуле соответствующего рабочего листа.
oleg_vm
Сообщения: 21
Зарегистрирован: 16 сен 2005, 10:19

функция реагирует на событие "изменение листа", а как узнать какая ячейка была изменена?
oleg_vm
Сообщения: 21
Зарегистрирован: 16 сен 2005, 10:19

всё понял, спасибо!
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Если Вы будете использовать событие рабочего листа Worksheet_Change(), то аргумент Target представляет из себя об'ект Range в котором были произведены изменения, т.е.

Код: Выделить всё

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
MsgBox "Изменения произошли в диапазоне : " & Target.Address, , ""
End Sub
Если не хотите использовать события, то можно использовать свойство Selection

P.S. Пока сражался с отечественным Dial-Up ответ уже стал Вам не нужен ... жаль
Ответить