Note: The other languages of the website are Google-translated. Back to English
Registo de cliente  \/ 
x
or
x
Registe-se  \/ 
x

or

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)
	If Not Intersect(Target, Range("A1")) Is Nothing Then
		ActiveSheet.Name = ActiveSheet.Range("A1")
	End If
End Sub

Importante: 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 um teste gratuito (30 dias) 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-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. 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
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Remi · 8 months ago
    What is the highest nr of worksheets, that can be changed names via Kutools Plus?  because the excel letting me only 17 names to changes, and that's it 
  • To post as a guest, your comment is unpublished.
    Skottle · 1 years ago
    I'm using your exact code from the above for VBA code which works perfectly for what I need. However, I have a bunch of macros on a sheet called Job Template that gets copied and reused for every new job. I designed all my macros based on a new copied version called Job Template (2). Once the sheet name is changed to the new job name, the macros no longer work and have to manually do it. I would like to be able to use any of my Macro buttons at any point instead of only using them before I change the sheet name.

    Is there a way for the VBA code to always refer to the sheet name before running the rest of the code functions?
  • To post as a guest, your comment is unpublished.
    dan · 1 years ago
    How can I reference two cells. for example name and id number?
  • To post as a guest, your comment is unpublished.
    NickP84 · 1 years ago
    This is exactly what I need, but I need the tab to recreate a date and it isn't working... I assume this is something to do with the way excel works out date and time, can anyone suggest a workaround?
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Nick,
      Excel does not support typing the sheet name containing special characters. If the date you type contains the character /, it won't allow you to create the sheet name with that date.
  • To post as a guest, your comment is unpublished.
    Nilanjan Pal · 4 years ago
    You can rather use simple macro



    Sub Macro3()
    Dim index As Integer
    For index = 1 To 18

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

    Next index



    End Sub
    • To post as a guest, your comment is unpublished.
      crystal · 4 years ago
      Good Day,
      Thank you for sharing.
  • To post as a guest, your comment is unpublished.
    JAS · 4 years ago
    I got the whole code, and it worked. Thank you so much for your help!
    • To post as a guest, your comment is unpublished.
      crystal · 4 years ago
      Dear JAS,
      I’m glad I could help.
  • To post as a guest, your comment is unpublished.
    JJ · 4 years ago
    I am getting this code to work, but it does not automatically update the tab name when the cell it pulls the name from if referencing another cell (and that cell changes).


    I.e. I change a cell in a master list, which changes the cell text in a specific cell on each tab, which the code is referencing as the tab name, BUT the tab doesn't update its name correspondingly.
    • To post as a guest, your comment is unpublished.
      crystal · 4 years ago
      Good day,
      The following VBA code can solve your problem. Thank you for your comment1

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim xRg As Range, xCell As Range
      On Error Resume Next
      If Not Intersect(Target, Range("A1")) Is Nothing Then
      ActiveSheet.Name = ActiveSheet.Range("A1")
      End If
      Application.EnableEvents = False
      Set xRg = ActiveSheet.Range("A1").Precedents
      If Not xRg Is Nothing Then
      For Each xCell In xRg
      ActiveSheet.Name = ActiveSheet.Range("A1")
      Next
      End If
      Application.EnableEvents = True
      End Sub
      • To post as a guest, your comment is unpublished.
        NOOR · 2 years ago
        I change a cell in a master list, which changes the cell text in a specific cell on each tab, which the code is referencing as the tab name, BUT the tab doesn't update its name correspondingly.

        ---- it's not work
      • To post as a guest, your comment is unpublished.
        John Hammonds · 3 years ago
        I need to use this code but I've never entered vba code before. Any guidance would be appreciated.
      • To post as a guest, your comment is unpublished.
        JAS · 4 years ago
        Still doesn't work. I'm having the same issue as jJJ. crystal: Is the whole code shown in your reply?
        The last line shown in your comment is "Set xRg = ActiveSheet.Range("A1").Precedents"
        • To post as a guest, your comment is unpublished.
          crystal · 4 years ago
          Dear JAS,
          Please click the Read more button on the right side of the comment to display the whole comment.
          • To post as a guest, your comment is unpublished.
            Alex · 4 years ago
            Still have the same issue.

            I have A1 of the new sheet point to another cell in a different tab. It updates the first time (when you execute) but then no change when editing the master cell
            • To post as a guest, your comment is unpublished.
              Rj · 2 years ago
              Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
              Set Target = Range("A1")
              If Target = "" Then Exit Sub
              On Error GoTo Badname
              ActiveSheet.Name = Left(Target, 31)
              Exit Sub
              Badname:
              MsgBox "Please revise the entry in A1." & Chr(13) _
              & "It appears to contain one or more " & Chr(13) _
              & "illegal characters." & Chr(13)
              Range("A1").Activate
              End Sub
  • To post as a guest, your comment is unpublished.
    Jason · 4 years ago
    I pasted this in as instructed but it didn't show up in my list of available Macros. I tried to manually run it by keying in the Macro name. When it attempted to run the Macro, an error message came up "Argument no optional".

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
    ActiveSheet.Name = ActiveSheet.Range("A1")
    End If
    End Sub

    Has anyone else run this code and had the same issue?

    As a test I ran more basic code and it worked fine so the value in "A1" isn't causing the problem. When I run the code below I can see the Macro name "myTabName" in the Macro list. The code above doesn't appear and I'm assuming this is because of the bug/missing argument.

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

    Thanks for your help as I'd very much like to use the code as intended for automating tab name changes based on a cell value..
    • To post as a guest, your comment is unpublished.
      crystal · 4 years ago
      Dear Jason,
      The code works well in my case. Would you please provide your Office version? Thank you for your comment.