VBA ActiveSheet e como ativar ou selecionar uma planilha

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
wave wave wave wave wave