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.

ActiveCell é a propriedade do VBA que representa a célula ativa (selecionada) no Excel. Com ela você executa ações na célula atual sem fixar o endereço no código. Use ActiveCell.Address para descobrir a referência da célula ativa (como $C$9) e ActiveCell.Value para ler ou gravar o conteúdo dela via MsgBox ou Debug.Print.

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!

Resumo do vídeo: a aula mostra o que é o ActiveCell no VBA e como usar a célula ativa do Excel dentro das suas macros. Você acompanha como selecionar células com os métodos Range e Cells, descobrir o endereço da célula ativa com a propriedade Address e ler ou gravar o conteúdo dela com a propriedade Value, usando MsgBox e Debug.Print.

Neste vídeo você aprende:

  • o que é o ActiveCell e para que serve no VBA;
  • selecionar células com os métodos Range e Cells;
  • descobrir o endereço da célula ativa com ActiveCell.Address;
  • ler e gravar o conteúdo da célula ativa com ActiveCell.Value.

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:

VBA
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.

Ícone VBAVBA Impressionador

Como automatizar praticamente qualquer tarefa repetitiva que você faça dentro do Excel. Aprenda a criar integrações do Excel com o PowerPoint, Word, Outlook e muito mais. Aprenda a criar automações para resolver tudo com apenas um clique em um botão. Tudo isso com uma única linguagem que junta todos esses programas.

Começar agoraSeta para a direita
Fundo VBATelas VBA

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:

VBA
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.

VBA
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.

VBA
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.

VBA
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:

VBA
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.

VBA
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!

Perguntas frequentes

1. O que é ActiveCell no VBA?

ActiveCell é a propriedade do VBA que faz referência à célula ativa, ou seja, a célula selecionada no Excel (contornada de verde). Com ela, uma macro pode executar ações na célula atual sem precisar fixar um endereço no código, ajustando-se automaticamente à célula em que o usuário está no momento.

2. Como selecionar uma célula pelo VBA com Range e Cells?

Você pode ativar uma célula de duas formas. Com o Range, informe a referência entre aspas: Range(“C6”).Activate ou Range(“C6”).Select. Com o método Cells, informe o número da linha e o da coluna: Cells(6,3).Activate seleciona a mesma célula C6. Ambos ativam a célula desejada antes de executar outras ações.

3. Como descobrir qual célula está ativa no VBA?

Use a propriedade ActiveCell.Address, que retorna a referência da célula ativa. Para visualizar o resultado, combine com MsgBox ActiveCell.Address, que abre uma caixa de mensagem, ou com Debug.Print ActiveCell.Address, que mostra o valor na janela de Verificação Imediata. O endereço aparece travado, como $C$9, por isso os cifrões.

4. Como pegar o conteúdo de uma célula no VBA?

Troque a propriedade Address pela propriedade Value. ActiveCell.Value retorna o conteúdo da célula ativa, em vez do endereço. Combinada com Debug.Print ActiveCell.Value ou MsgBox ActiveCell.Value, ela exibe o valor da célula. A propriedade Value também permite gravar dados na célula, atribuindo um novo valor a ActiveCell.Value.

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?