события рабочего листа с помощью VBA в Microsoft Excel
События для объекта рабочего листа возникают, когда рабочий лист активирован или пользователь изменяет содержимое ячейки.
События на листах активированы по умолчанию, но могут быть отключены макросом. Чтобы отобразить процедуры обработки событий для рабочего листа, вы используете редактор Visual Basic. Выберите желаемый проект в окне «Проект» и активируйте нужный объект рабочего листа, дважды щелкнув его. Любые процедуры обработки событий на листе теперь будут отображаться в окне кода в правой части экрана. Вы можете создать новую процедуру обработки события, выбрав Рабочий лист в раскрывающемся списке «Объект», а затем выбрав событие в раскрывающемся списке «Процедура».
Макросы могут быть прикреплены к следующим событиям на листе:
Activate BeforeDoubleClick BeforeRightClick Calculate Change Deactivate SelectionChange Этот пример макроса события не позволит пользователю получить доступ к контекстным меню на рабочем листе, процедура должна быть записана на листе собственного модуля рабочего листа, например
Лист1:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, _ Cancel As Boolean) Cancel = True MsgBox "Shortcut menus are disabled in this worksheet!" End Sub
Этот пример макроса событий не позволит пользователю выбирать ячейки в определенном диапазоне на листе, процедура должна быть записана на листе собственного модуля рабочего листа, например
Лист1:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Not Application.Intersect(Target, Range("A1:A100")) Is Nothing Then Cells(ActiveCell.Row, 2).Select MsgBox "You can't select cells in A1:A100!" End If End Sub