СообЧа > База Знаний > Программы > MS Excel

Вопрос

Как написать макрос, который бы обрабатывался при изменении данных в листе? Другими словами, изменил я ячейку А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 Сообщество Чайников
Контактная информация