Страница: 1 |
Вопрос: О Событии OnActivate на листе Exccell | Добавлено: 09.06.05 12:14 |
Автор вопроса: ![]() |
Как можно затасвить код VBA исполняться при актививировании конкретного рабочего листа в Елсел?
В Ацессе это событие On_Open, On_Activate и т.д. А в Ексел? |
Ответы | Всего ответов: 4 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ICQ: 308-534-060 Вопросов: 20 Ответов: 1860 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 09.06.05 16:52 |
Private Sub Worksheet_Activate()
'Обработчик события End Sub |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() Вопросов: 11 Ответов: 19 |
Профиль | Цитата | #2 | Добавлено: 09.06.05 17:47 |
А как кореретно (или где)указать наименование листа, при активации которого должно произойти событие? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 73 |
Профиль | Цитата | #3 | Добавлено: 09.06.05 21:28 |
Для события рабочего листа Private Sub Worksheet_Activate() не нужно указывать имя рабочего листа. Необходимо просто разместить его в программном модуле, который соответствует нужному рабочему листу. Для того, чтобы перейти в модуль листа достаточно выделить ярлычок с именем этого рабочего листа, кликнуть правой кнопкой мышки и в появившемся контекстном меню выбрать команду Исходный текст.
Если для Вас принципиально указать имя/индекс рабочего листа, при активации которого должен запуститься определённый макрос, то Вы можете воспользоваться свойством OnSheetActivate Private Sub Auto_Open()
Worksheets(1).OnSheetActivate = "wsActivate" End Sub Private Sub wsActivate() MsgBox ActiveSheet.Name, , "" End Sub Этот код можно расположить в любом стандартном модуле. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() Вопросов: 11 Ответов: 19 |
Профиль | Цитата | #4 | Добавлено: 10.06.05 12:53 |
Все прекрасно!
Большое всем спасибо. |
Страница: 1 |
|