Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #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

Private Sub Auto_Open()
Worksheets(1).OnSheetActivate = "wsActivate"
End Sub

Private Sub wsActivate()
MsgBox ActiveSheet.Name, , ""
End Sub


Этот код можно расположить в любом стандартном модуле.

Ответить

Номер ответа: 4
Автор ответа:
 macho



Вопросов: 11
Ответов: 19
 Профиль | | #4 Добавлено: 10.06.05 12:53
Все прекрасно!
Большое всем спасибо.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам