Executar Macro ao Selecionar Célula – VBA Excel

No Excel podemos executar uma macro manualmente ao atribuí-la a um botão ou dispará-la automaticamente ao criar um evento que vai causar seu acionamento. Para executar uma macro no Excel ao selecionar uma célula ou intervalo é necessário, através do VBA, criar na determinada planilha o evento Worksheet_SelectionChange.

Caso também tenha dúvidas em como criar uma macro leia meu artigo: Como criar macro no Excel A FORMA MAIS FÁCIL.

Como Criar um Evento em Planilha pelo VBA Excel

Siga os seguintes passos para criar um evento em planilha no Excel usando VBA:

Executar Macro ao Selecionar uma Célula - VBA SelectionChange 01

  1. Abra a planilha de interesse e com ela carregada aperte ALT+F11 para abrir o menu de desenvolvimento com VBA
  2. Clique duas vezes no painel lateral esquerdo sobre a planilha que tem interesse de modificar, no meu caso escolhi a Planilha1
  3. Ao lado direito deve abrir o campo para inserir o código de VBA que vai funcionar apenas naquela planilha. Na parte superior na caixa de seleção selecione Worksheet e na caixa de seleção mais à direita selecione o evento SelectionChange

Pronto! ao seguir estes passos automaticamente o corpo do código do evento já foi adicionado automaticamente à sua planilha.

Este é o caminho mais intuitivo para criar este ou qualquer outro evento, entretanto é possível adicioná-lo apenas copiando e colando o código abaixo na planilha que tenha interesse:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

Como Executar uma  Macro ao Selecionar uma Célula no Excel

Agora que aprendemos como criar o evento Worksheet_SelectionChange podemos utilizar uma lógica no Excel para detectar quando estamos clicando sobre a célula que temos interesse.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("A1")) Is Nothing Then
            Call MinhaMacro
        End If
    End If
End Sub

No exemplo acima, a MinhaMacro somente vai ser disparada quando o usuário da Planilha1 clicar sobre a célula A1.

Como Executar uma  Macro ao Selecionar uma Célula em um Intervalo no Excel

De forma similar ao exemplo anterior o evento a ser utilizado é o Worksheet_SelectionChange e alguma lógica para detectar o encontro da célula selecionada comparada com o intervalo que o evento retorna na variável Target.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
            Call MinhaMacro
        End If
    End If
End Sub

No exemplo acima, a MinhaMacro somente vai ser disparada quando o usuário da Planilha1 clicar sobre qualquer célula no intervalo de A1:A10

Conclusão

Neste artigo, vimos um guia completo de como trabalhar com o evento Worksheet_SelectionChange no VBA Excel.

Eu sei que não é comum ler um artigo deste, como tutorial, e repetir para aprender, mas recomendo fortemente que você tome coragem de repetir todo o passo-a-passo. Desenvolva seu próprio método para nomear variáveis, veja o que funciona para você, formalize-o e use de forma consistente.

Eu penso que praticar é a melhor maneira de aprender e, embora pareça simples, é preciso se acostumar a navegar entre as telas para que no futuro você possa se tornar um usuário avançado.

O site deste pessoal aqui foi referência para este artigo. O site é muitoooo bacana com várias dicas legais de programação, mas infelizmente o conteúdo está em inglês, o que não deixa de ser uma boa referência para quem conseguir acompanhar. Eu recomendo.

Portanto, continue lendo mais sobre VBA aqui.

Um comentário sobre “Executar Macro ao Selecionar Célula – VBA Excel

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *