VBA Obter Nome da Planilha / Renomear Planilha
In this Article
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.
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.