VBA Obter Nome da Planilha / Renomear Planilha

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on April 4, 2023

Este tutorial abordará a interação com os nomes das planilhas em VBA.

Obter Nome da Planilha

Os nomes das planilhas são armazenados na propriedade de Name do objeto Sheets ou Worksheets. O Nome da Planilha é o nome da “aba” que é visível na parte inferior do Excel:

 

Obter o Nome da Planilha Ativa (ActiveSheet)

Isto exibirá o nome da planilha ativa ActiveSheet em uma caixa de mensagens:

MsgBox ActiveSheet.Name

Obter o Nome da Planilha por Número de Índice

Isto exibirá o nome da primeira planilha em uma caixa de mensagem:

MsgBox Sheets(1).Name

Isto mostrará o nome da última planilha na pasta de trabalho:

MsgBox Sheets(Sheets.Count).Name

Obter o Nome da Planilha Pelo Nome de Código

No Editor VBA, há uma opção para mudar o “nome de código” de uma Planilha. O nome de código não é visível para o usuário do Excel e só pode ser visto no Editor de VBA:

Em VBA, ao trabalhar com Planilhas, você pode fazer referência ao nome usual da planilha:

Sheets("NomeDaPlanilha").Activate

ou o nome de código VBA:

NomeDeCodigo.Activate

A referência ao nome de código é desejável caso o nome da planilha mude alguma vez. Se você permitir o acesso do usuário do Excel para alterar os nomes das planilhas, você deve referenciar o nome de código em seu código VBA para que uma incompatibilidade do nome da planilha não cause um erro. Os nomes de código das planilhas são discutidos com mais detalhes aqui.

Para obter o nome da planilha usando o nome de código VBA, faça o seguinte:

MsgBox NomeDeCodigo.Name

Renomear Planilha

Você pode renomear as Planilhas ajustando a propriedade  Name do objeto Sheets ou Worksheets.

Renomear ActiveSheet

ActiveSheet.Name = "NovoNome"

Renomear Planilha pelo Nome

Sheets("PlanilhaAntiga").Name = "NovoNome"

Renomear Planilha pelo Número Índice da Planilha

Aqui usamos 1 para renomear a primeira planilha do arquivo.

Sheets(1).Name = "NovoNome"

Renomear Planilha por Nome de Código

Este código renomeará uma planilha usando seu nome de código VBA (discutido acima):

Componente.Name = "NovoNome"

Verificar se o Nome da Planilha Existe

Criamos uma função para testar se já existe uma Planilha com um determinado nome.

'Testar se um intervalo existe em uma Planilha.
'Deixe o intervalo em branco para testar se a planilha existe
'Entradas:
' QualPlanilha - String Nome da Planilha (ex "Planilha1")
' QualIntervalo (Opcional, Padrão = "A1") - String Nome do Intervalo (ex "A1")
Function IntervaloExiste(QualPlanilha As String, Optional ByVal QualIntervalo As String = "A1") As Boolean
    Dim teste As Range
    On Error Resume Next
    Set teste = ActiveWorkbook.Sheets(QualPlanilha).Range(QualIntervalo)
    IntervaloExiste = Err.Number = 0
    On Error GoTo 0
End Function

A função retornará VERDADEIRO se a Planilha existir, ou FALSO se não existir.

Use a função desta forma:
Sub Teste_PlanilhaExiste()
    MsgBox IntervaloExiste("Configuracao")
End Sub

Copiar Planilha e Renomear

Este exemplo é de nosso artigo sobre Copiar Planilhas.

Depois de copiar e colar uma planilha, a planilha recém-criada se torna a ActiveSheet. Assim, para renomear uma planilha copiada, basta usar o ActiveSheet.Name:

Sub CopiarPlanilhaRenomear2()

    Sheets("Planilha1").Copy After:=Sheets(Sheets.Count)
    On Error Resume Next
    ActiveSheet.Name = "ÚltimaPlanilha"
    On Error GoTo 0

End Sub

Nota: Adicionamos o tratamento de erros para evitar erros se o nome da planilha já existir.

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA