Поделиться через


События объекта Worksheet

События на листах включены по умолчанию. Чтобы просмотреть процедуры событий для листа, щелкните правой кнопкой мыши вкладку листа и выберите пункт Просмотр кода в контекстном меню. Выберите одно из следующих событий в списке Процедура .

События на уровне листа возникают при активации листа, при изменении пользователем ячейки листа или при изменении сводной таблицы. В следующем примере изменяется размер столбцов от A до F при пересчете листа.

Private Sub Worksheet_Calculate() 
    Columns("A:F").AutoFit 
End Sub

Некоторые события можно использовать, чтобы заменить действие поведением приложения по умолчанию или внести небольшое изменение в поведение по умолчанию. В следующем примере перехватывается событие правой кнопкой мыши и добавляется новый пункт меню в контекстное меню для ячеек B1:B10.

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, _ 
        Cancel As Boolean) 
    For Each icbc In Application.CommandBars("cell").Controls 
        If icbc.Tag = "brccm" Then icbc.Delete 
    Next icbc 
    If Not Application.Intersect(Target, Range("b1:b10")) _ 
            Is Nothing Then 
        With Application.CommandBars("cell").Controls _ 
            .Add(Type:=msoControlButton, before:=6, _ 
                temporary:=True) 
           .Caption = "New Context Menu Item" 
           .OnAction = "MyMacro" 
           .Tag = "brccm" 
        End With 
    End If 
End Sub

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.