Este artigo discutirá o objeto ActiveSheet no VBA. Ele também discutirá como ativar, selecionar e ir para Planilhas (e muito mais). Leia nosso Guia de planilhas VBA completo para obter mais informações sobre como trabalhar com planilhas em VBA.
ActiveSheet
No VBA, ActiveSheet se refere à planilha atualmente ativa. Apenas uma folha pode estar ativa por vez.
Ativar planilha (configuração da planilha ativa)
Para definir a ActiveSheet use Worksheet.Activate:
1 | Planilhas ("Entrada"). Ativar |
O comando Ativar Folha irá, na verdade, “ir para” a folha, alterando a Folha visível.
O exemplo acima usa o nome da planilha (guia). Em vez disso, você pode usar o nome do código VBA para a planilha:
1 | Sheet1.Activate |
Nome ActiveSheet
Para obter o nome do ActiveSheet:
1 | msgbox ActiveSheet.name |
Planilhas selecionadas vs ActiveSheet
A qualquer momento, apenas uma planilha pode ser a ActiveSheet. No entanto, várias planilhas podem ser selecionadas de uma vez.
Quando várias planilhas são selecionadas, apenas a planilha "superior" é considerada ativa (a planilha ativa).
Selecione a planilha
Se você gostaria de selecionar uma planilha em vez de ativá-la. Em vez disso, use .Selecione.
Selecione a planilha pelo nome da guia
Isso seleciona uma planilha com base em seu nome da guia da planilha
1 | Planilhas ("Entrada"). Selecione |
Selecione a planilha por número de índice
Isso seleciona uma planilha com base em sua posição em relação a outras guias
1 | Planilhas (1) .Selecionar |
Selecione a planilha com o nome do código VBA
1 | Folha1.Selecionar |
Selecionar planilhas por nome de código pode evitar erros causados por alterações no nome da planilha.
Selecione a planilha atual
Para selecionar a Planilha atual, use o objeto ActiveSheet:
1 | ActiveSheet.Select |
Mais Ativar / Selecionar Exemplos de Planilhas
Definir ActiveSheet para Variável
Isso atribuirá a ActiveSheet a uma variável de objeto de planilha.
123 | Dim ws como planilhaDefinir ws = ActiveSheet |
Alterar o nome do ActiveSheet
Isso mudará o nome da ActiveSheet.
1 | ActiveSheet.Name = "NewName" |
Com ActiveSheet
Usar a instrução With permite que você agilize seu código ao trabalhar com objetos (como planilhas ou planilhas ativas).
12345 | Com ActiveSheet.Name = "StartFresh".Cells.Clear.Range ("A1"). Valor = .NomeTerminar com |
Observe como você não precisa repetir "ActiveSheet" antes de cada linha de código. Isso pode economizar muito tempo ao trabalhar com uma longa lista de comandos.
Loop através de folhas selecionadas
A macro a seguir fará um loop por todas as planilhas selecionadas, exibindo seus nomes.
12345678 | Sub GetSelectedSheetsName ()Dim ws como planilhaPara cada ws em ActiveWindow.SelectedSheetsMsgBox ws.NamePróximo wsEnd Sub |
Ir para a próxima planilha
Este código irá para a próxima planilha. Se a ActiveSheet for a última planilha, ela irá para a primeira planilha na pasta de trabalho.
12345 | If ActiveSheet.Index = Worksheets.Count ThenPlanilhas (1) .AtivarOutroActiveSheet.Next.ActivateFim se |