Evento é uma ação (geralmente realizada pelo usuário) que dispara códigos a serem executados pelo VBA.
Ex: Abrir uma planilha, selecionar uma aba, mudar o valor de células, etc.
Para criarmos códigos que executam quando um evento ocorre:
Project Explorer do VBE, por padrão, já possui os itens: e . Porém, outros itens poderão ser listados nesta janela, como novas Planilhas ou mesmo outros projetos (se mais de uma pasta de trabalho estiver aberta).
Os eventos relacionados a pasta de trabalho (WorkBook) devem ser inseridos em . Já os eventos relacionados as Planilhas (WorkSheet) devem estar localizados no item da planilha correspondente (Ex: ).
Selecione no Project Explorer do VBE o local se deseja criar uma macro para um evento, como descrito anteriormente, e em seguida selecione qual evento se deseja utilizar.
No caso, utilizaremos o evento de abertura da pasta de trabalho (Open).
Private Sub Workbook_Open()
MsgBox "Última atualização em: 10 de Agosto"
End Sub
2. Salve (na extensão .xlsm ), feche e abra a pasta de trabalho (arquivo Excel) para receber a mensagem.
Eventos são ativados a partir de nomes de Sub específicos. Tenha como boa prática não associar variáveis a esses nomes.
Ao clicar em item do dropdown da direita, uma Sub é criada automaticamente com o nome do local e do evento desejado conectados com underline (_).
Padrão de Sub de evento: [local]_[evento].
Sub WorkBook_Open '"WorkBook" é o local e "Open" é o evento End Sub
Alguns eventos comuns da pasta de trabalho ():
Evento | Descrição |
---|---|
Workbook_Open | Executa a instrução quando a pasta de trabalho é ou está aberta |
Workbook_BeforeClose | Executa a instrução imediatamente antes da pasta de trabalho ser fechada |
Workbook_BeforeSave | Executa a instrução imediatamente antes da pasta de trabalho ser salva |
Workbook_BeforePrint | Executa a instrução imediatamente antes de uma impressão |
Workbook_AfterSave | Executa a instrução imediatamente após a pasta de trabalho ser salva |
Workbook_SheetActivate | Executa a instrução toda vez que uma planilha for ativada |
Workbook_SheetBeforeDoubleClick | Executa a instrução toda vez que usuário der um duplo clique em uma célula |
Workbook_SheetBeforeRightClick | Executa a instrução toda vez que usuário der um clique com botão direito em uma célula |
Workbook_SheetChange | Executa a instrução toda vez que o conteúdo de uma célula for alterado |
Workbook_SheetCalculate | Executa a instrução toda vez que algum valor das planilhas é calculado ou recalculado |
Workbook_NewSheet | Executa a instrução toda vez que uma nova planilha for criada |
Workbook_SheetFollowHyperlink | Executa a instrução toda vez que um hyperlink for clicado |
Alguns eventos comuns da planilha ():
Evento | Descrição |
---|---|
Worksheet_SelectionChange | Executa a instrução toda vez que a seleção for alterada |
Worksheet_Activate | Executa a instrução toda vez que a planilha se tornar ativa |
Worksheet_Deactivate | Executa a instrução quando a planilha deixa de ser ativa |
Worksheet_BeforeDoubleClick | Executa a instrução quando uma célula da planilha receber um duplo clique |
Worksheet_BeforeRightClick | Executa a instrução quando uma célula da planilha receber um clique com o botão direito |
Worksheet_Calculate | Executa a instrução toda vez que algum valor da planilha for calculado ou recalculado |
Worksheet_Change | Executa a instrução toda vez que o conteúdo de uma célula da planilha for alterado |
Worksheet_FollowHyperlink | Executa a instrução toda vez que um hyperlink for clicado na planilha |
Repare que alguns eventos existem tanto para o caso de Workbook para o caso de Worksheet, mudando apenas o escopo: Workbook vale para todo arquivo, independente de planilha e Worksheet vale apenas para uma Planilha específica.
SuperExcelVBA.com é um site voltado ao aprendizado de VBA. Exemplos e explicações podem ter sido simplificados para maior e mais veloz compreensão. Estamos constantemente nos atualizando e corrigindo erros, porém não existe garantia sobre o conteúdo disponível no site. Todos os direitos reservados.
Excel ® é uma marca registrada da Microsoft Corporation.
© 2024 SuperExcelVBA | SOBRE