Como listar todas as pastas e respetivas subpastas no Excel?
Ao trabalhar com tarefas de gestão de diretórios ou ficheiros, poderá surgir a necessidade de obter rapidamente uma lista abrangente de todas as pastas e subpastas existentes num determinado diretório e visualizar essa informação diretamente no Excel. Infelizmente, o Excel não disponibiliza uma função integrada nem um assistente simples para recuperar automaticamente todas as pastas ou subNome da Pastas de um Caminho do Arquivo especificado. Este artigo apresenta código VBA que lhe permite listar todas as pastas e subpastas de qualquer diretório escolhido diretamente na sua folha de cálculo. Isto minimiza o risco de erro humano e elimina tarefas repetitivas, ajudando-o a acompanhar e gerir rapidamente a organização dos seus dados.
Utilizar código VBA para listar todas as pastas e subpastas
Utilizar código VBA para listar todas as pastas e subpastas
Se pretender extrair e apresentar todas as pastas e subpastas de um diretório específico no Excel, utilizar VBA (Visual Basic for Applications) é uma solução eficaz. Esta abordagem oferece flexibilidade e controlo, permitindo-lhe obter não só os nomes das pastas, mas também informações adicionais, como o caminho do ficheiro, as datas de criação e a última data de modificação. Este método é especialmente indicado para utilizadores familiarizados com as funcionalidades do separador Programador do Excel e para quem trabalha com sistemas de ficheiros dinâmicos ou frequentemente atualizados.
1. Prima ALT + F11 para abrir o editor «Microsoft Visual Basic for Applications». Esta ferramenta permite-lhe adicionar e editar macros no seu livro.
2. No editor do VBA, clique em Inserir > Módulo. Será aberta uma nova janela de módulo. Copie e cole o seguinte código no módulo:
Código VBA: Listar todas as pastas e subNome da Pastas
Sub FolderNames()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Choose the folder"
.Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld.SubFolders
xRow = Range("A1").End(xlDown).Row + 1
Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
Next SubFolder
For Each subfld In prntfld.SubFolders
getSubFolder subfld
Next subfld
End Sub
3. Após inserir o código, prima F5 ou clique no botão Executar no editor VBA para executar a macro. Aparecerá uma caixa de diálogo Escolher a pasta, solicitando que selecione o diretório-alvo que pretende analisar em busca de pastas e subpastas.

4. Selecione o diretório pretendido e clique em OK. A macro irá processar o diretório e gerar uma nova Lista de Livros com todas as pastas e subpastas, incluindo os respetivos caminhos completos, diretórios pais imediatos, nomes, datas de criação e datas da última modificação, conforme ilustrado abaixo:

Algumas dicas práticas e observações para utilizar este código:
- Se a sua estrutura de diretórios for muito extensa, a macro poderá demorar algum tempo a processar todas as pastas. Por favor, seja paciente durante a execução e evite interromper o processo.
- O método VBA exige que as definições de macros estejam ativadas; caso contrário, o código não será executado corretamente. Se surgirem avisos de segurança, verifique as definições do Centro de Confiança em Opções do Excel.
- Se selecionar acidentalmente a pasta errada, basta executar novamente a macro e escolher o diretório correto.
- Esta abordagem lista apenas informações de pastas e subpastas; caso precise também de listar ficheiros, consulte o artigo relacionado abaixo para mais opções.
- Se vários utilizadores partilharem o livro, lembre-os de que as macros têm de estar ativadas nos respetivos computadores para poderem utilizar esta funcionalidade dinâmica de listagem.
- Se o livro gerado estiver em branco ou incompleto, certifique-se de que o diretório selecionado não está vazio e de que tem permissões de leitura adequadas. Em árvores de pastas particularmente profundas ou complexas, reveja os limites de recursos do seu sistema e, se necessário, considere processá-las por lotes ou em subdiretórios.
Esta solução VBA é flexível, não exige extras nem software externo e gera automaticamente um livro de saída para sua conveniência. Contudo, é mais indicada para utilizadores familiarizados com operações básicas de macros e poderá necessitar de ajustes adicionais para personalizações específicas.
Artigo relacionado:
Como listar os ficheiros de um diretório numa folha de cálculo do Excel?
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos