Como usar o evento Ativar, Desativar no VBA?

No VBA (Visual Basic for Applications), os eventos Ativar e Desativar podem ser usados para executar código automaticamente quando um objeto, como uma planilha do Excel ou um formulário de usuário, é ativado ou desativado. Aqui está como você pode usar esses eventos:

Evento Ativar

O evento `Activate` é acionado quando um objeto é ativado. Para uma planilha, por exemplo, isso ocorre quando a planilha se torna a planilha ativa no Excel.

Exemplo para uma Planilha:

Private Sub Worksheet_Activate()
    MsgBox "A planilha foi ativada!"
End Sub
  • Abra o Excel e pressione `ALT` + `F11` para abrir o Editor do VBA.
  • No painel de projeto, encontre o objeto da planilha (por exemplo, `Planilha1`).
  • Clique duas vezes sobre a planilha para abrir a janela de código associada.
  • Insira o seguinte código:

Toda vez que essa planilha se tornar ativa, uma caixa de mensagem será exibida.

Evento Desativar

O evento `Deactivate` é acionado quando um objeto é desativado, ou seja, quando deixa de ser o objeto ativo.

Exemplo para uma Planilha:

Private Sub Worksheet_Deactivate()
    MsgBox "A planilha foi desativada!"
End Sub
  • No mesmo local onde inseriu o código para o evento Ativar, insira também o seguinte código:

Isso exibirá uma caixa de mensagem sempre que a planilha for desativada (quando você muda para outra planilha).

Usando em Formulários de Usuário

Os eventos Ativar e Desativar também podem ser usados em UserForms:

Private Sub UserForm_Activate()
    MsgBox "UserForm foi ativado!"
End Sub
Private Sub UserForm_Deactivate()
    MsgBox "UserForm foi desativado!"
End Sub
  • No Editor do VBA, insira um UserForm no seu projeto (`Inserir -> UserForm`).
  • Clique duas vezes no UserForm para abrir a janela de código.
  • Insira o seguinte código para o evento Ativar:
  • Insira o seguinte código para o evento Desativar:

Considerações

  • Esses eventos são úteis para automatizar tarefas baseadas na interação do usuário com a interface do Excel ou com formulários de usuário.
  • Certifique-se de que as macros estão habilitadas no Excel para que o VBA funcione.
  • Use esses eventos com cuidado para evitar conflitos ou comportamento indesejado ao alternar entre objetos rapidamente.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project