Na lição anterior, consideramos os eventos relacionados ao livro inteiro. Agora vamos nos concentrar nos eventos relacionados a uma única planilha.
Para executar instruções baseadas em eventos para uma planilha individual, selecione a planilha no editor e então Worksheet:
O evento SelectionChange será adicionado por padrão. Este evento é disparado sempre que o conteúdo do intervalo muda:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub
Por exemplo, o código a seguir adiciona cores de preenchimento a uma ou mais células selecionadas e remove automaticamente a cor de preenchimento do intervalo selecionado anteriormente quando esse intervalo muda:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static previous_selection As String If previous_selection <> "" Then 'Removendo a cor de fundo da seleção anterior: Range(previous_selection).Interior.ColorIndex = xlColorIndexNone End If 'Adicionando cor de fundo à seleção atual: Target.Interior.Color = RGB(181, 244, 0) 'Salvando o endereço da seleção atual: previous_selection = Target.Address End Sub
Este evento ocorre quando uma planilha é ativada:
Private Sub Worksheet_Activate() End Sub
Este evento ocorre quando outra planilha é ativada:
Private Sub Worksheet_Deactivate() End Sub
Este evento ocorre quando uma célula da planilha é clicada duas vezes:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) End Sub
Este evento ocorre antes do clique direito do mouse na planilha:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) End Sub
Este evento ocorre sempre que os dados de uma planilha são calculados ou recalculados:
Private Sub Worksheet_Calculate() End Sub
Este evento ocorre sempre que o conteúdo das células de uma determinada planilha é alterado:
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
Este evento ocorre quando um link (hipertexto) é clicado:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) End Sub
Para executar o código sem nenhum evento, insira-o entre duas linhas de código como esta:
Application.EnableEvents = False '=> desabilitar eventos 'Algumas instruções... Application.EnableEvents = True '=> reativar eventos