Eventos no Excel

O termo "evento do Excel» é usado para indicar determinadas ações executadas pelo usuário no Excel. Por exemplo, quando um usuário alterna uma planilha de pasta de trabalho, isso é um evento. Inserir dados em uma célula ou salvar uma pasta de trabalho também são eventos do Excel.

Os eventos podem ser vinculados a uma planilha do Excel, a gráficos, a uma pasta de trabalho ou diretamente ao próprio aplicativo do Excel. Os programadores podem criar código VBA que será executado automaticamente quando ocorrer um evento.

Por exemplo, para executar uma macro sempre que o usuário alternar uma planilha em uma pasta de trabalho do Excel, você criaria um código VBA que será executado sempre que o evento ocorrer Ativar Planilha pasta de trabalho.

E se você quiser que a macro seja executada toda vez que for para uma planilha específica (por exemplo, Sheet1), então o código VBA deve estar associado ao evento Ativação para esta folha.

O código VBA destinado a manipular eventos do Excel deve ser colocado na planilha ou objeto de pasta de trabalho apropriado na janela do editor VBA (o editor pode ser aberto clicando Alt + F11). Por exemplo, o código que deve ser executado toda vez que um determinado evento ocorre no nível da planilha deve ser colocado na janela de código dessa planilha. Isso é mostrado na figura:

No editor do Visual Basic, você pode exibir o conjunto de todos os eventos do Excel disponíveis na pasta de trabalho, planilha ou nível de gráfico. Abra a janela de código para o objeto selecionado e selecione o tipo de objeto no menu suspenso à esquerda na parte superior da janela. O menu suspenso à direita na parte superior da janela mostrará os eventos definidos para este objeto. A figura abaixo mostra uma lista de eventos associados a uma planilha do Excel:

Eventos no Excel

Clique no evento desejado no menu suspenso à direita e um procedimento será inserido automaticamente na janela de código para este objeto Sub. à frente do processo Sub O Excel insere automaticamente os argumentos necessários (se houver). Tudo o que resta é adicionar o código VBA para determinar quais ações o procedimento deve executar quando o evento desejado for detectado.

Exemplo

No exemplo a seguir, cada vez que uma célula é selecionada B1 na planilha Sheet1 uma caixa de mensagem aparece.

Para realizar esta ação, precisamos usar o evento da planilha Seleção_Alterar, que ocorre sempre que a seleção de uma célula ou intervalo de células é alterada. Função Seleção_Alterar recebe como argumento Target objeto -. É assim que sabemos qual intervalo de células foi selecionado.

Evento Seleção_Alterar ocorre com qualquer nova seleção. Mas precisamos que o conjunto de ações seja executado apenas quando a célula for selecionada B1. Para fazer isso, rastrearemos o evento apenas no intervalo especificado Target. Como ele é implementado no código do programa mostrado abaixo:

'Código para exibir uma caixa de mensagem quando a célula B1 é selecionada' na planilha atual. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Verifica se a célula B1 está selecionada If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then 'Se a célula B1 estiver selecionada, faça o seguinte MsgBox "Você tem selecionou uma célula B1" End If End Sub

Deixe um comentário