Blog

Postado em em 3 de março de 2023

VBA ActiveCell – Criando Códigos com as Células Ativas no VBA

Você sabe o que é VBA ActiveCell? Nada mais é do que a célula ativa no Excel! Hoje vamos aprender a trabalhar com este recurso.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso Canal do YouTube para mais vídeos!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Então nessa aula eu vou te mostrar para que serve o ActiveCell VBA, como ativar uma célula no VBA, qual é a célula ativa no Excel e como pegar o conteúdo de uma célula no Excel VBA.

Esse recurso é muito interessante, pois nem sempre vamos fazer algo com uma célula específica que já sabemos qual é, podemos executar uma ação de acordo com uma célula selecionada, ou seja, uma célula ativa.

Isso pode facilitar bastante algumas atividades, por bastar selecionar a célula desejada e executar a sua macro, dessa forma não precisa alterar o código sempre ou tentar fazer algo muito complexo.

E aí, quer aprender como funciona o ActiveCell VBA e como ele pode te ajudar nos seus próximos projetos?

O ActiveCell já possui um nome bem intuitivo, Active -> ativo e cell -> células, ou seja, célula ativa.

Quando clicamos em uma célula no Excel, note que ela fica contornada de verde indicando que aquela é a célula ativa.

Esta funcionalidade do VBA ActiveCell permite executar uma ação na célula que estiver ativa, isso facilita quando temos uma ação que queremos executar em células diferentes, porque, ao invés de ter que alterar o código é só usar o ActiveCell e o código se ajusta a célula ativa naquele momento.

Isso abre um mar de possibilidades!

Como ativamos uma célula no VBA?

Vamos entrar no ambiente do VBA, para isso utilize o atalho alt + f11 -> inserir -> módulo. Feito isso, vamos iniciar nosso código:

Sub vba_activecell ()

End Sub

Tudo que vamos fazer tem que estar contido entre essas duas linhas de código, é o que chamamos de sub-rotina e é também o que define a nossa macro.

Obs. É importante lembrar de não usar espaço nem caracteres especiais nos códigos!

Como selecionar uma célula a partir do VBA?

Para isso vamos utilizar o Range:

Sub vba_activecell ()

Range(“C6”).Activate

End Sub

Feito isso vamos salvar o código e executar usando o atalho F5.

Observe que na planilha de Excel a célula C6 está selecionada!

Existe outra forma de fazer isso usando o Select o resultado é o mesmo a célula é selecionada.

Sub vba_activecell ()

Range(“C6”).Select

End Sub

Além do Método Range, podemos selecionar a linha usando o Método Cells, a diferença neste método é que ao invés de passar a letra e número da célula (C6), vamos passar o número da linha e o número da coluna.

Sub vba_activecell ()

‘Range(“C6”).Select

Cells(6,3).Activate

End Sub

Observe que a linha anterior com o método Range está comentada, para isso colocamos uma aspas simples antes do ‘Range, assim quando salvar e executar somente o comando Cells será executado.

Como descobrir qual célula está ativa no Excel por meio do VBA?

Vamos usar uma propriedade chamada Address, esta propriedade busca a célula que está ativa.

Precisamos também adicionar no nosso código uma forma de visualizar o resultado do Address, para isso vamos usar o MsgBox.

Sub vba_activecell ()

MsgBox ActiveCell.Address

End Sub

Após salvar e clicar em F5, vamos ter como resultado uma caixinha com a mensagem -> $C$9

Nossa célula ativa é a C9, o resultado vem trancado, por este motivo o $ aparece.

Outro modo de verificar o resultado é clicando em Exibir no VBA e em seguida selecionar a opção -> Verificação Imediata

Feito isso vamos alterar o modo de exibição no código, retirando o MsgBox e colocando o Debug.Print:

Sub vba_activecell ()

Debug.Print ActiveCell.Address

End Sub

Feito isso, clique em F5 e o resultado vai aparecer na caixa do Debug.

Como descobrir qual o conteúdo de uma célula dentro do VBA?

É muito simples, precisamos apenas trocar a propriedade de endereço que estamos usando no nosso código -> Address, para a propriedade de valor -> Value.

Sub vba_activecell ()

Debug.Print ActiveCell.Value

End Sub

Salve e clique no F5, agora dentro do Debug vai aparecer o conteúdo da célula ativa!

Conclusão – VBA ActiveCell

Nessa aula mostrei as funcionalidades do VBA ActiveCell.

Este tema foi muito pedido pelos nossos alunos, por este motivo tratamos no detalhe as formas de identificar células ativas e como verificar seu conteúdo dentro do VBA.

Eu espero que vocês tenham gostado! É mais um recurso importante para você ter!

Até mais! Abraço,

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador