Selecionar Planilha, Ativar Planilha e Obter Planilha Ativa no VBA
In this Article
Este artigo irá abordar o objeto ActiveSheet do VBA. Também abordará como ativar, selecionar e ir para uma planilha específica (& muito mais). Leia nosso Guia de Planilhas VBA para mais informações sobre como trabalhar com Planilhas noVBA.
ActiveSheet
No VBA, ActiveSheet refere-se à planilha que está atualmente ativa na sua pasta de trabalho no Excel. A sua pasta de trabalho (o seu arquivo Excel) pode ter várias planilhas, mas somente uma planilha ativa de cada vez.
Ativar Planilha (Definindo a ActiveSheet)
Para definir a ActiveSheet use o comando Worksheet.Activate:
Worksheets("Entradas").Activate
O comando Activate irá trazer o foco atual para a planilha informada, tornando-a visível.
O exemplo acima utiliza o Nome da Planilha (Nome exibido na aba). Porém, também pode ser utilizado o Código de Referência VBA dessa Planilha:
Planilha1.Activate
Nome da ActiveSheet
Para obter o nome da ActiveSheet:
MsgBox ActiveSheet.Name
Planilhas Selecionadas vs ActiveSheet
A qualquer momento, apenas uma única Planilha (uma única Aba) pode ser a ActiveSheet. Entretanto, múltiplas Planilhas podem ser selecionadas de uma vez.
Quando várias Planilhas são selecionadas, apenas a planilha “mais ao topo” é considerada Ativa (ou seja, a ActiveSheet).
Selecionar Planilha
Se você quiser apenas “Selecionar” uma planilha específica ao invés de Ativá-la, use o comando .Select.
Selecionar Planilha pelo Nome
O comando abaixo seleciona a planilha baseado no nome da Planilha (Aba).
Sheets("Entrada").Select
Selecionar Planilha pelo Índice
Este comando seleciona a Planilha baseado no seu posicionamento relativo às outras planilhas (abas).
Worksheets(1).Select
Selecionar Planilha pelo Código de Referência VBA
Planilha1.Select
Selecionar planilhas pelo código de referência VBA previne erros causados por mudanças nos nomes das Planilhas (Abas).
Selecionar Planilha Atual
Para selecionar a Planilha atual (ou seja, a Planilha Ativa – ActiveSheet), use o objeto ActiveSheet:
ActiveSheet.Select
Mais Exemplos de Ativar / Selecionar Planilhas
Atribuir a ActiveSheet a uma Variável
Este comando irá atribuir a ActiveSheet a uma Variável de Objeto do tipo Worksheet.
Dim ws As Worksheet
Set ws = ActiveSheet
Mudar o Nome da ActiveSheet
Use este comando parar mudar o nome da ActiveSheet, (o nome exibido na Aba que está ativa).
ActiveSheet.Name = "NewName"
Bloco With ActiveSheet
Utilizar a declaração With permite simplificar seu código ao trabalhar como objetos (tais como Sheets ou ActiveSheet).
With ActiveSheet
.Name = "Saídas"
.Cells.Clear
.Range("A1").Value = .Name
End With
Observe que, com o bloco With, não é necessário repetir “ActiveSheet” antes de cada linha de código. Isso pode economizar bastante tempo no desenvolvimento, especialmente ao trabalhar com longas listas de comandos.
Loop Através das Planilhas Selecionadas
A macro abaixo executará um Loop através de todas planilhas selecionadas, exibindo o nome de cada uma em Caixa de Mensagem.
Sub GetSelectedSheetsName()
Dim ws As Worksheet
For Each ws In ActiveWindow.SelectedSheets
MsgBox ws.Name
Next ws
End Sub
GoTo Next Sheet
Este código moverá o foco para a próxima planilha, ou seja, tornará a planilha seguinte a ActiveSheet. Caso a ActiveSheet seja a última planilha, então o foco será movido para o início, ativando a primeira planilha da Pasta de Trabalho.
If ActiveSheet.Index = Worksheets.Count Then
Worksheets(1).Activate
Else
ActiveSheet.Next.Activate
End If
Programação VBA Simplificada
Pare ficar procurando códigos online. Conheça o AutoMacro – Um Construtor de Código VBA que permite iniciantes programar procedimentos do zero com o mínimo de conhecimento em programação e com vários recursos que economizam tempo para todos os usuários!