Вопрос
Как написать макрос, который бы обрабатывался при изменении данных в листе? Другими словами, изменил я ячейку А1, а ячейка В2 автоматически пересчиталась, но данные пересчитывал бы мой макрос.
Ответ
Войдите в редактор макросов (Alt-F11). Найдите в дереве активных проектов свой файл.
В этом проекте найдите лист, куда Вы хотите вставить макрос обрабоки события. Выделите этот пункт в дереве. Нажмите F7 — окроется окно ввода программного кода, связанного с этим листом.
Внесите в это окно пример ниже:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Cells(2, 1).Value = ActiveSheet.Cells(1, 1).Value *
ActiveSheet.Cells(1, 2).Value
End Sub
После чего при каждом изменении любой ячейки листа в ячейку A2 будет заново вноситься значение произведения A1 и B1. Далее по нуждам, измените обработку этого события или внесите новые программы на обработку любого другого события, возможного в листе или в книге.
Из конференции Expert_FAQ
Copyright 2000-2004 Сообщество Чайников
Контактная информация