Se você possui uma pasta de trabalho do Excel com centenas de planilhas e agora deseja obter uma lista de todos os nomes de planilhas, consulte este artigo. Aqui vamos compartilhar 3 métodos simples com você.
Às vezes, pode ser necessário gerar uma lista de todos os nomes de planilhas em uma pasta de trabalho do Excel. Se houver apenas algumas planilhas, basta usar o Método 1 para listar os nomes das planilhas manualmente. No entanto, caso a pasta de trabalho do Excel contenha um grande número de planilhas, é melhor usar os dois últimos métodos, que são muito mais eficientes.
Método 1: Obter lista manualmente
- Primeiro, abra a pasta de trabalho específica do Excel.
- Em seguida, clique duas vezes no nome de uma planilha na lista de planilhas na parte inferior.
- Em seguida, pressione “Ctrl + C” para copiar o nome.
- Mais tarde, crie um arquivo de texto.
- Em seguida, pressione “Ctrl + V” para colar o nome da planilha.
- Agora, desta forma, você pode copiar o nome de cada folha para o arquivo de texto, um por um.
Método 2: lista com fórmula
- Inicialmente, abra a aba “Fórmulas” e clique no botão “Gerenciador de Nomes”.
- Em seguida, na janela pop-up, clique em “Novo”.
- Na caixa de diálogo subsequente, digite “ListSheets” no campo “Name”.
- Posteriormente, no campo “Refere-se a”, insira a seguinte fórmula:
=SUBSTITUIR(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")
- Depois disso, clique em “OK” e “Fechar” para salvar esta fórmula.
- Em seguida, crie uma nova planilha na pasta de trabalho atual.
- Em seguida, digite “1” na célula A1 e “2” na célula A2.
- Depois, selecione as duas células e arraste-as para a entrada 2,3,4,5, etc. na Coluna A.
- Posteriormente, coloque a seguinte fórmula na célula B1.
=ÍNDICE(ListaFolhas,A1)
- De uma só vez, o nome da primeira folha será inserido na célula B1.
- Por fim, basta copiar a fórmula até ver o “#REF!” erro.
Método 3: Listar via Excel VBA
- Para comotart, acione o editor Excel VBA de acordo com “Como executar o código VBA no seu Excel".
- Em seguida, coloque o código a seguir em um módulo ou projeto.
Sub ListSheetNamesInNewWorkbook() Dim objNewWorkbook As Workbook Dim objNewWorksheet As Worksheet Set objNewWorkbook = Excel.Application.Workbooks.Add Set objNewWorksheet = objNewWorkbook.Sheets(1) For i = 1 To ThisWorkbook.Sheets.Count objNewWorksheet.Cells(i, 1) = i objNewWorksheet.Cells(i, 2) = ThisWorkbook.Sheets(i).Name Próximo i Com objNewWorksheet .Rows(1).Insert .Cells(1, 1) = "INDEX" .Cells(1, 1).Font. Bold = True .Cells(1, 2) = "NAME" .Cells(1, 2).Font.Bold = True .Columns("A:B").AutoFit End With End Sub
- Mais tarde, pressione “F5” para executar esta macro agora.
- Imediatamente, uma nova pasta de trabalho do Excel aparecerá, na qual você pode ver a lista de nomes de planilhas da pasta de trabalho do Excel de origem.
Comparação
Diferenciais | Desvantagens | |
Método 1 | Fácil de operar | Muito problemático se houver muitas planilhas |
Método 2 | Fácil de operar | Exige que você digite o índice primeiro |
Método 3 | Rápido e conveniente | Os usuários devem tomar cuidado com as macros maliciosas externas |
Fácil mesmo para iniciantes em VBA |
Excel fica corrompido
Sabe-se que o MS Excel falha de vez em quando, danificando os arquivos atuais ao salvá-los. Portanto, é altamente recomendável obter um poderoso Reparação do Excel ferramenta, como DataNumen Outlook Repair. É porque esse recurso de auto-recuperação no Excel falha com frequência.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo correção de sql e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com
Olá,
Se eu tiver várias planilhas em minha pasta de trabalho, todas com a mesma estrutura de nomenclatura, mas com nomes diferentes, e preciso excluir as mesmas duas palavras de cada nome de planilha na guia, existe uma maneira?
No meu exemplo abaixo, os '5 números' são uma combinação aleatória de 5 dígitos e são diferentes para cada guia.
As palavras 'TRAINING CAMP' são estáticas e iguais para todas as guias.
O 'Nome do acampamento' é um nome aleatório e diferente para cada guia.
ESTRUTURA ATUAL DO NOME DA ABA:
5 Números – CAMPO DE TREINAMENTO – Localização
EXEMPLO REAL DO NOME DA ABA ATUAL:
00001 – CAMPO DE TREINAMENTO – Dover
00010 – CAMPO DE TREINAMENTO – Cabot
00100 – CAMPO DE TREINAMENTO – Dallas
EXEMPLO DE NOMES DE ABA DESEJADOS:
1 – Dover
10 - Cabot
100 –Dallas
Para fazer um recálculo automaticamente, ou seja, quando você adiciona uma nova planilha, use o evento ativo da planilha naquela planilha específica.
Subplanilha privada_activate()
Application.screenupdating=Falso
Aplicativo.CalculateFullRebuild
Application.Screenupdating = Verdadeiro
End Sub
você me economizou muito tempo, felicidades!
Nevím, ale mně métododa č. 2 nefunguje – piše, že ve vzorci je chyba.
O método 2 funcionou muito bem. Tão fácil e rápido.
Se quiser ver os nomes da aba e não armazená-la em um arquivo siga os passos mencionados abaixo:
Passo 1: Mantenha o mouse sobre o ícone “mudança de guia para a esquerda” (representado pelo símbolo).
Passo 2: Pressione o botão “Ctrl” e clique com o botão direito do mouse.
Etapa 3: você verá todos os “nomes das guias” com um menu pop-up intitulado “Ativar”
Se você quiser apenas visualizar os nomes das abas basta seguir os 3 passos simples mencionados abaixo:
Passo 1: Mantenha o mouse sobre o ícone “mudança de guia para a esquerda” (representado pelo símbolo).
Passo 2: Pressione o botão “Ctrl” e clique com o botão direito do mouse.
Etapa 3: você verá todos os “nomes das guias” com um menu pop-up intitulado “Ativar”
Funcionou perfeitamente. Obrigado.
Uau, incrível estrutura de blog! Há quanto tempo você tem um blog?
Você faz com que um blog pareça fácil. Todo o visual do seu site é ótimo, sem falar no conteúdo!
Você pode ver algo semelhante aqui e-commerce
Eu pensei e removi a mensagem
Para o método nº 2, usando a macro ListSheets (=REPLACE(GET.WORKBOOK(1),1,FIND(“]”,GET.WORKBOOK(1)),””), alguém encontrou uma maneira de forçar a re- Cálculo? Posso alterar o nome de uma planilha, mas até limpar o conteúdo da célula e inserir novamente a fórmula =INDEX(ListSheets,[RefCell]) , o nome antigo da planilha permanecerá no resultado.
Não vi resposta para outras pessoas que postperguntas, mas encontrei o #BLOCKED! erro após fechar o Excel e reabrir o arquivo com esta macro. Eu precisava tornar o diretório do arquivo onde ele está armazenado um local confiável.
Extraordinário!!!!
Funcionou de maneira incrível e fácil com o método da fórmula. Incrível. Obrigado!
Te amo por isso!
Gostaríamos de agradecer mais uma vez pelas ideias maravilhosas que você ofereceu a Janet ao preparar seu próprio plano.ost-pesquisa de pós-graduação
mais, most importante, em relação ao fornecimento de todas as ideias em um blog post.
Desde que tivéssemos conhecimento do seu site há um ano, poderíamos ter sido resgatados
das medidas inúteis que estávamos empregando.
Muito obrigado. brinquedos para adultos
Somos um grupo de voluntários e abrindo um novo esquema de nossa comunidade.
Seu site nos ofereceu informações valiosas para trabalhar. Você fez um trabalho formidável
e toda a nossa comunidade ficará grata a você.
doar para a ucrânia
Excelente, que weblog é esse! Este site fornece dados úteis para
nós, continue assim. doe para a Ucrânia
Por favor, trabalhe krna sikha dain
Obrigado por isso. Para salvar uma etapa, usei a função:
=ÍNDICE(ListaFolhas,LINHA(A1))
e copiei. Dessa forma, não preciso de uma coluna para armazenar os números de 1 a n
O método 3 funciona perfeitamente. Alguém sabe como alterar o código VBA para criar uma planilha dentro da pasta de trabalho existente para mostrar a lista de nomes de planilhas?
Adoro o seu blog .. cores e tema muito bonitos. Você mesmo criou este site ou contratou alguém para fazer isso por você? Por favor, responda, pois estou procurando criar meu próprio blog e gostaria de descobrir de onde você tirou isso. muito obrigado
大変参考になりました、ありがとう。
QUAL É O NOME DO MEU ARQUIVO É MUITO LONGO? DIGA QUE É NUMÉRICO E COM 24 DÍGITOS. ENCONTREI AO USAR ESTA FÓRMULA, APENAS OS PRIMEIROS 12 DÍGITOS DAS PLANILHAS SÃO CAPTURADOS
Obrigado. O método 2 era exatamente o que eu precisava 🙂
Se eu alterar um nome de planilha, não atualizo e as células referenciadas a ela recebem um #REF! erro. Como resolver sem macro? Obrigado.
o.web20.services
Muito obrigado - exatamente o que eu precisava.
Muito obrigado!!! extremamente útil
Muito obrigado!
Com as novas funções do O365, você pode usar diretamente =TRANSPOSE(ListSheets).
Se você também quiser/precisar dos números das folhas, =SEQUENCE(COLUMNS(ListSheets)) é ainda dinâmico.
obrigado, o método 3 me poupou algumas horas de ctr-C/ctr-V
Muito obrigado por compartilhar essas três opções. Discordo do usuário que se referiu ao post como “idiota”. É muito fácil criticar, mas é preciso muito esforço para ajudar os outros. Obrigado pela ajuda!
isso é idiota - apenas faça uma maldita PDF do arquivo Excel - você obterá os nomes e um PDF De cada.
Método dois funcionou como um encanto, obrigado
Como faço para criar/atualizar uma guia na pasta de trabalho atual em vez de criar uma nova pasta de trabalho?
Incrível! O método dois funcionou muito bem. As instruções foram claras e as capturas de tela foram úteis. Não melhora.
Eu também recebo o #BLOQUEADO! mensagem de erro para a opção 2 e não consigo encontrar uma maneira de 'desbloquear' 🙁
Obrigado, me poupou muito trabalho
Método 2 não funciona no Excel 2021!
Apenas um método de comentário 2 não requer uma lista primeiro se você substituir =INDEX(ListSheets,A1) por =INDEX(ListSheets,Row(A1)).
O método 2 também exige que você salve como pasta de trabalho habilitada para macro, pois usa a função herdada do Excel 4.0
Realmente apreciado. Tão rápido para usar o VBA de 'baixo conhecimento'!
Obrigado, como faço para que os resultados saiam do meu arquivo atual na aba “Tab Index” que já existe, melhor ainda em uma tabela?
Isso foi incrível! Obrigado pelo código VBA!!!!!! Me salvou como uma hora de trabalho entorpecente!
Recebo um erro #BLOCKED! quando tento o método 2 (lista com fórmula). Quero usar o nome da planilha em minha pasta de trabalho, portanto, o método VBA não ajuda.
Olá, List via Excel VBA funciona muito bem, por favor, sugira o que alterar o código para obtê-lotart na linha4, coluna B (Índice em B4, Nome em C4)
Obrigado! Isso economizou muito tempo para mim, eu realmente aprecio você compartilhar isso com todos!
BTW, existe uma maneira de imprimir apenas as planilhas visíveis (e não as ocultas)? Eu sei que estou pedindo muito aqui, mas isso pode tornar a fórmula ainda melhor 🙂
Parabéns e muito obrigado!!!
Obrigado por essa macro! Funcionou como um encanto
Isso é incrível. muito obrigado post! Você acabou de me salvar horas de trabalho.