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