Note: The other languages of the website are Google-translated. Back to English

Como tornar o nome da guia da planilha igual ao valor da célula no Excel?

Em alguns casos, pode ser necessário renomear uma planilha com base em um valor de célula especificado. Neste artigo, mostraremos métodos para tornar o nome da guia da planilha igual ao valor da célula no Excel.

Faça o nome da guia da planilha igual ao valor da célula com o código VBA
Torne o nome da guia da planilha igual ao valor da célula com o Kutools para Excel


Faça o nome da guia da planilha igual ao valor da célula com o código VBA

Com o seguinte código VBA, você pode tornar o nome da guia da planilha igual ao valor da célula automaticamente.

1. Clique com o botão direito na guia da planilha que deseja que o nome da planilha seja igual ao valor da célula e clique Ver código no menu do botão direito. Veja a imagem:

2. Copie e cole o código abaixo na janela de código e pressione outro + Q simultaneamente para fechar a janela Microsoft Visual Basic for Applications.

Código VBA: torne a guia da planilha igual ao valor da célula

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20230130
    On Error Resume Next
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    ElseIf Not Intersect(Target.Dependents, Range("A1")) Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    End If
End Sub

Nota: No código, A1 é a célula que contém o valor que você precisa usar como nome da folha. Você pode alterá-lo conforme necessário.

A partir de agora, quando o valor na célula A1 for alterado, o nome da guia da planilha também será alterado.


Torne o nome da guia da planilha igual ao valor da célula com o Kutools para Excel

Nesta seção, apresentamos a você o Renomear várias planilhas utilidade de Kutools for Excel. Com este utilitário, você pode renomear facilmente planilhas com determinados valores de células no Excel.

Antes de aplicar Kutools for Excel, Por favor baixe e instale primeiro.

1. Clique Kutools Plus > Planilha > Renomear várias planilhas. Veja a imagem:

2. No Renomear várias planilhas caixa de diálogo, você precisa fazer o seguinte.

1). Verifique os nomes das planilhas que você deseja renomear no Fichas de trabalho (você pode selecionar uma folha ou várias folhas).
2). Selecione Substitua o nome da folha original caixa no Opções de renomeação seção.
3). Se você deseja renomear uma planilha ou várias planilhas com o valor da célula especificada, selecione o De faixa específica e selecione o intervalo de células em que deseja renomear as planilhas.
4). Clique no OK botão. Veja a imagem:

Você pode ver que as planilhas selecionadas são renomeadas pelo valor do intervalo especificado imediatamente, conforme a captura de tela abaixo.

Notas:

1. Você pode usar o filtros função para filtrar facilmente a planilha necessária, se houver muitas planilhas existentes.
2. Se você deseja renomear várias planilhas com um determinado valor de célula em cada planilha. Por exemplo, folha1 será igual ao valor da célula A1 e folha2 também será igual ao valor da célula A1. Por favor, selecione planilhas no Fichas de trabalho caixa e selecione a Renomear planilhas com célula específica opção e especifique a célula A1 na caixa.

3. O nome da planilha não será alterado automaticamente com as alterações do valor da célula.

  Se você quiser ter uma avaliação gratuita (30-dia) deste utilitário, por favor clique para fazer o downloade, em seguida, aplique a operação de acordo com as etapas acima.


Torne o nome da guia da planilha igual ao valor da célula com o Kutools para Excel


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (28)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Eu colei isso conforme as instruções, mas não apareceu na minha lista de macros disponíveis. Tentei executá-lo manualmente digitando o nome da macro. Ao tentar executar a Macro, apareceu uma mensagem de erro "Argumento não opcional".

Private Sub Worksheet_Change (ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Não é Nada Então
ActiveSheet.Name = ActiveSheet.Range("A1")
Se acabar
End Sub

Alguém já executou este código e teve o mesmo problema?

Como teste, executei um código mais básico e funcionou bem, então o valor em "A1" não está causando o problema. Quando executo o código abaixo, posso ver o nome da macro "myTabName" na lista de macros. O código acima não aparece e estou assumindo que isso é por causa do argumento bug/ausente.

Sub minhaTabName()
ActiveSheet.Name = ActiveSheet.Range("A1")
End Sub

Obrigado pela sua ajuda, pois gostaria muito de usar o código conforme pretendido para automatizar as alterações do nome da guia com base em um valor de célula.
Este comentário foi feito pelo moderador no site
Querido jason,
O código funciona bem no meu caso. Você poderia fornecer sua versão do Office? Obrigado pelo seu comentário.
Este comentário foi feito pelo moderador no site
Olá Cristal,

Não funcionou para mim também, será porque a célula que me refiro é uma fórmula?

Obrigado por responder
Este comentário foi feito pelo moderador no site
Olá Mei,

Obrigado pelo seu feedback. O problema foi causado pela fórmula. O código foi modificado. Por favor, tente.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20230130
    On Error Resume Next
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    ElseIf Not Intersect(Target.Dependents, Range("A1")) Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    End If
End Sub
Este comentário foi feito pelo moderador no site
Estou fazendo esse código funcionar, mas ele não atualiza automaticamente o nome da guia quando a célula da qual ele extrai o nome se refere a outra célula (e essa célula muda).


Ou seja, eu mudo uma célula em uma lista mestra, que altera o texto da célula em uma célula específica em cada guia, que o código está referenciando como o nome da guia, MAS a guia não atualiza seu nome de forma correspondente.
Este comentário foi feito pelo moderador no site
Dia bom,
O código VBA a seguir pode resolver seu problema. Obrigado pelo seu comentário1

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg como intervalo, xCell como intervalo
On Error Resume Next
If Not Intersect(Target, Range("A1")) Não é Nada Então
ActiveSheet.Name = ActiveSheet.Range("A1")
Se acabar
Application.EnableEvents = False
Set xRg = ActiveSheet.Range("A1").Precedentes
Se não xRg não é nada, então
Para cada xCell em xRg
ActiveSheet.Name = ActiveSheet.Range("A1")
Seguinte
Se acabar
Application.EnableEvents = True
End Sub
Este comentário foi feito pelo moderador no site
Ainda não funciona. Estou com o mesmo problema do JJJ. crystal: O código inteiro é mostrado na sua resposta?
A última linha mostrada em seu comentário é "Set xRg = ActiveSheet.Range("A1").Precedents"
Este comentário foi feito pelo moderador no site
Prezado JAS,
Clique no botão Leia mais no lado direito do comentário para exibir o comentário inteiro.
Este comentário foi feito pelo moderador no site
Ainda tem o mesmo problema.

Eu tenho A1 da nova planilha apontando para outra célula em uma guia diferente. Ele atualiza a primeira vez (quando você executa), mas nenhuma alteração ao editar a célula mestra
Este comentário foi feito pelo moderador no site
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Definir alvo = intervalo("A1")
Se Alvo = "" Então Sair Sub
Em erro GoTo Badname
ActiveSheet.Name = Left(Destino, 31)
Exit Sub
Nome ruim:
MsgBox "Por favor, revise a entrada em A1." & Chr(13) _
& "Parece conter um ou mais " & Chr(13) _
& "caracteres ilegais." & Chr(13)
Intervalo ("A1"). Ative
End Sub
Este comentário foi feito pelo moderador no site
Ainda problema é o mesmo, ele muda na primeira vez. quando vinculo essa célula a outra planilha e a altero ela não a altera automaticamente
Este comentário foi feito pelo moderador no site
Eu preciso usar este código, mas nunca digitei código vba antes. Qualquer orientação seria apreciada.
Este comentário foi feito pelo moderador no site
Eu altero uma célula em uma lista mestra, que altera o texto da célula em uma célula específica em cada guia, que o código está referenciando como o nome da guia, MAS a guia não atualiza seu nome de forma correspondente.

---- não é trabalho
Este comentário foi feito pelo moderador no site
Peguei o código inteiro e funcionou. Muito obrigado pela sua ajuda!
Este comentário foi feito pelo moderador no site
Prezado JAS,
Fico feliz em poder ajudar.
Este comentário foi feito pelo moderador no site
Você pode usar macro simples



Sub Macro3 ()
Índice de escurecimento como inteiro
Para índice = 1 a 18

Sheets(index).Name = Sheets(index).Range("A2").Value

Próximo índice



End Sub
Este comentário foi feito pelo moderador no site
Bom dia,
Obrigado por compartilhar.
Este comentário foi feito pelo moderador no site
Isso é exatamente o que eu preciso, mas eu preciso da guia para recriar uma data e não está funcionando... Eu suponho que isso seja algo a ver com a maneira como o Excel funciona com data e hora, alguém pode sugerir uma solução alternativa?
Este comentário foi feito pelo moderador no site
Oi Nick,
O Excel não oferece suporte à digitação do nome da planilha que contém caracteres especiais. Se a data que você digitar contiver o caractere /, não permitirá que você crie o nome da planilha com essa data.
Este comentário foi feito pelo moderador no site
Como posso referenciar duas células. por exemplo nome e número de identificação?
Este comentário foi feito pelo moderador no site
Estou usando seu código exato acima para o código VBA que funciona perfeitamente para o que preciso. No entanto, tenho várias macros em uma planilha chamada Modelo de trabalho que é copiada e reutilizada para cada novo trabalho. Eu projetei todas as minhas macros com base em uma nova versão copiada chamada Job Template (2). Depois que o nome da planilha é alterado para o novo nome do trabalho, as macros não funcionam mais e precisam ser feitas manualmente. Gostaria de poder usar qualquer um dos meus botões Macro a qualquer momento, em vez de usá-los apenas antes de alterar o nome da planilha.

Existe uma maneira de o código VBA sempre se referir ao nome da planilha antes de executar o restante das funções do código?
Este comentário foi feito pelo moderador no site
Qual é o maior número de planilhas, que podem ter nomes alterados via Kutools Plus? pois o excel me deixando apenas 17 nomes para mudar, e pronto
Este comentário foi feito pelo moderador no site
Isso funcionou perfeitamente para minha primeira planilha, mas não para a segunda ou terceira etc (tenho até cerca de 20 planilhas que precisam dessa função). Estou esquecendo de algo?
Este comentário foi feito pelo moderador no site
Olá A Owen,
Este código só funciona para uma planilha por vez. Desculpe pela inconveniência.
Este comentário foi feito pelo moderador no site
Olá Cristal,

Quando colo no seu código, ele volta com o erro "tipo definido pelo usuário não definido"?

Obrigado.
Este comentário foi feito pelo moderador no site
Olá TomJ,
Verifique se essas três opções estão marcadas na caixa de diálogo Referências - VBAProject.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/error.png
Este comentário foi feito pelo moderador no site
funcionou lindamente!
Este comentário foi feito pelo moderador no site
Olá,
que voulez-vous dire par appuyer autre autre+q dans le code vba après avoir collé.
J'ai simplement fermé la page après avoir collé et ça ne marche pas
obrigado
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL