Como Selecionar Célula de Outra Planilha com VBA no Excel capa

Como Selecionar Célula de Outra Planilha com VBA no Excel

Objeto ActiveSheet no Excel VBA é o que você procura

A finalidade do Objeto ActiveSheet no VBA é consultar planilhas atualmente ativa na pasta de trabalho ativa. A partir dele podemos selecionar dados, células, intervalos, linhas ou colunas de Outra Planilha dinamicamente com VBA no Excel.

Para entender, acompanhe os exemplos passo a passo e veja como este Objeto funciona na prática.

O que é Objeto ActiveSheet no Excel VBA

Uma planilha atualmente ativa na pasta de trabalho ativa, é denominado ActiveSheet, que em inglês significa “Planilha Ativa”.

De fato, qualquer planilha pode ser ativada como planilha ativa. Isto é, podemos usar o método Activate para ativar uma planilha usando o Excel VBA.

Planilha("Nome_da_planilha").Activate

Como definir uma planilha como ativa no VBA

Como eu disse, podemos usar o método Activate para definir a planilha como ativa no VBA. Por exemplo, a Planilha 3 pode ser definida como planilha ativa chamando o Método de Ativação abaixo:

Planilha(3).Activate

Como ler dados de uma Planilha Ativa

O VBA permite ler dados do Objeto ActiveSheet. Para isso, podemos usar todos os métodos e propriedades de uma planilha Object. Por exemplo, temos a seguir um código VBA que obtém dados do ActiveSheet e seu resultado é mostrado em uma caixa de mensagem, como na figura abaixo:

Temos aqui o código usado acima:

Sub Obter_dados_da_planilha_ativa()
MsgBox ActiveSheet.Range("D5")
End Sub

No exemplo, o código ActiveSheet.Range (“D5”) lê os dados da célula D5 da planilha ativa. Portanto, não é obrigatório especificar a planilha antes do objeto Range, porque 0 intervalo (“D5”) refere-se aos dados da planilha atual.

Usos do ActiveSheet no desenvolvimento do VBA

É verdade que, lidamos com várias planilhas ao automatizar uma tarefa do Excel. Podemos assim, simplesmente definir o ActiveSheet como uma variável e então, mantê-la para referências futuras.

Por exemplo: digamos que temos 3 planilhas na pasta de trabalho e, atualmente a planilha 2 está ativada. Sendo assim, deseja-se utiliazr a planilha 3 de modo que é necessário navegar pela planilha 2 para consulta de dados. Neste cenário, devemos trabalhar com o Objeto ActiveSheet.

Segue abaixo o código utilizado:

Sub Obter_dados_da_planilha_ativa()
'Vou falar para o VBA que quero trabalhar com a Planilha2

Planilha2.Activate

'A variável K vai ler os dados da célula A1 da planilha ativa (Planilha2 neste caso)

K = Range("A1")
'Agora desejo abrir a Planilha3
'Vou definir o Objeto ActiveSheet em uma variável temporária antes de ativar a Planilha3

Set sht = ActiveSheet

'Agora vou pedir para ativar a Planilha3

Planilha3.Activate

'Inserir dados da célula D3 da Planilha2 na célula A1 da Planilha3

Range("A1") = sht.Range("D3")
End Sub

Como obter o nome da Planilha Ativa

Podemos trabalhar com a propriedade .Name do objeto ActiveSheet para retornar o nome da planilha atualmente ativa usando VBA. Observe abaixo:

Abaixo temos o código:

Sub Nome_Da_Planilha_Ativa()
MsgBox ActiveSheet.Name
End Sub

Como copiar dados de outra planilha para a Planilha Ativa

O Excel VBA permite copiar dados de uma planilha qualquer, e cola-los em uma planilha atualmente ativa. Observe como isso é feito:

Sub Copiar_Dados_Para_Planilha_Ativa()
Planilha2.Activate
Planilha3.Range("A1:G25").Copy
Range("G1").Select
ActiveSheet.Paste
End Sub

Como contar formas na Planilha Ativa

A macro a seguir retorna o número de formas na planilha ativa:

Sub Contar_Formas_Na_Planilha_Ativa()
MsgBox ActiveSheet.Shapes.Count
End Sub

Como contar gráficos na Planilha Ativa

A macro a seguir retorna o número de gráficos incluido na planilha ativa:

Sub Contar_Graficos_Na_Planilha_Ativa()
MsgBox ActiveSheet.ChartObjects.Count
End Sub

Como proteger a Planilha Ativa usando VBA

Podemos usar o método de proteção do ActiveSheet para proteger com senha uma planilha, como mostrado abaixo:

Sub Proteger_Planilha()
ActiveSheet.Protect "Senha", True, True
End Sub

Para desproteger a planilha, use o método a seguir:

ActiveSheet.UnProtect "Senha"

Conclusão

Neste artigo vimos como ativar uma planilha do Excel usando o VBA atravéz do objeto ActiveSheet.

Recomendo fortemente que você tome coragem de repetir todo o passo-a-passo. 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.

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, veja o que te ajuda, implemente-o para se tornar fluente na ferramenta Excel VBA.

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.

Por fim, termino aqui este artigo, mas deixo linkado abaixo, outros conteudos relacionados a VBA para que você fique ligado! Até a próxima.

Como Automatizar Planilha com VBA no Excel com EXEMPLOS

Como criar macro no Excel – A FORMA MAIS FÁCIL

Como declarar variáveis no VBA

Como Ler e Escrever em Células – Automatize sua planilha já

 

2 comentários sobre “Como Selecionar Célula de Outra Planilha com VBA no Excel

  1. Parabéns pelo seu blog, está sendo muito útil.
    Estou tentando gerar um arquivo para visualização, (pdf e impressão posteriomente).
    No entanto preciso pegar um conjunto de celula de uma planilha (dados) e abaixo de uma outra planilha (pedidos), é possível ?
    tentei usar o active planilha e selecionar na sequencia mas só veio uma das seleções…

    obrigado

Deixe um comentário

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