Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

Come elencare tutte le cartelle e sottocartelle in Excel?

Author Xiaoyang Last modified

Quando si lavora con attività di gestione delle directory o dei file, potrebbe essere necessario ottenere rapidamente un elenco completo di tutte le cartelle e sottocartelle all'interno di una directory specifica e visualizzare tali informazioni direttamente in Excel. Purtroppo, Excel non fornisce una funzione integrata o una procedura guidata semplice per recuperare automaticamente tutti i nomi di cartelle o sottocartelle da un percorso di cartella designato. Questo articolo introduce un codice VBA che consente di elencare tutte le cartelle e sottocartelle da qualsiasi directory scelta direttamente nel foglio di lavoro. Questo riduce al minimo il rischio di errori umani ed elimina lavori tediosi, aiutandoti a tracciare e gestire rapidamente l'organizzazione dei tuoi dati.

Usa il codice VBA per elencare tutte le cartelle e sottocartelle


Usa il codice VBA per elencare tutte le cartelle e sottocartelle

Se desideri estrarre e visualizzare tutti i nomi delle cartelle e delle sottocartelle da una directory specificata in Excel, utilizzare VBA (Visual Basic for Applications) è una soluzione efficace. Questo approccio offre flessibilità e controllo, consentendoti non solo di ottenere i nomi delle cartelle ma anche informazioni aggiuntive come percorsi delle cartelle, date di creazione e date dell'ultima modifica. Questo metodo è particolarmente adatto agli utenti a proprio agio con l'utilizzo delle funzionalità di sviluppatore di Excel e a coloro che gestiscono sistemi di file dinamici o che cambiano frequentemente.

1. Premi ALT + F11 per aprire l'editor "Microsoft Visual Basic for Applications". Questo strumento ti permette di aggiungere e modificare macro all'interno della tua cartella di lavoro.

2. Nell'editor VBA, clicca Inserisci > Modulo. Questo creerà una nuova finestra del modulo. Copia e incolla il seguente codice nel modulo:

Codice VBA: Elenca tutte le cartelle e sottocartelle

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. Dopo aver inserito il codice, premi F5 o clicca il pulsante Esegui nell'editor VBA per eseguire la macro. Apparirà una finestra di dialogo Scegli la cartella, che ti chiederà di selezionare la directory di destinazione che desideri scansionare per cartelle e sottocartelle.

vba code to select folder name

4. Seleziona la directory desiderata e clicca OK. La macro elaborerà la directory e genererà una nuova cartella di lavoro elencando tutte le cartelle e sottocartelle con i loro percorsi completi, la directory principale immediata, i nomi, le date di creazione e le date dell'ultima modifica come mostrato di seguito:

all folder names are listed in Excel

Alcuni suggerimenti pratici e note per l'uso di questo codice:

  • Se la struttura della tua directory è molto grande, la macro potrebbe impiegare del tempo per elaborare tutte le cartelle. Si prega di essere pazienti durante l'esecuzione e di evitare di interrompere il processo.
  • Il metodo VBA richiede che le impostazioni delle macro siano abilitate; altrimenti, il codice non funzionerà correttamente. Se incontri avvisi di sicurezza, controlla le impostazioni del Centro di protezione sotto Opzioni di Excel.
  • Se hai selezionato accidentalmente la cartella sbagliata, riavvia semplicemente la macro e scegli la directory corretta.
  • Questo approccio elenca solo le informazioni relative alle cartelle e sottocartelle; se hai bisogno di elencare anche i file, consulta l'articolo correlato qui sotto per ulteriori opzioni.
  • Se più utenti condividono la cartella di lavoro, ricorda loro che le macro devono essere abilitate sui loro computer per utilizzare questa funzionalità di elenco dinamico.
  • Se la cartella di lavoro generata è vuota o incompleta, assicurati che la directory selezionata non sia vuota e che tu abbia permessi di lettura adeguati. Per strutture di cartelle particolarmente profonde o complesse, rivedi i limiti delle risorse del tuo sistema e considera di processare in lotti o sottodirectory se necessario.

Questa soluzione VBA è flessibile, non richiede componenti aggiuntivi o software esterni e crea automaticamente una cartella di lavoro di output per tua comodità. Tuttavia, è più adatta agli utenti familiari con operazioni di base delle macro e potrebbe richiedere ulteriori personalizzazioni per specifiche esigenze.


Articolo correlato:

Come elencare i file in una directory su un foglio di lavoro in Excel?

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e crea grafici | Attiva Funzioni avanzate
Funzionalità più usate: Trova, evidenziazione o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda senza formula...
Super RICERCA.VERT: Ricerca VERT per criteri multipli | Ricerca VERT per valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestore colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia stato di visibilità delle colonne nascoste | Confronta intervalli & colonne...
Funzionalità in primo piano: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestore di cartelle di lavoro & fogli | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email per elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
Top15 strumenti:12 strumenti Testo (Aggiungi testo, Elimina Caratteri Specifici, ...) |50+ tipi di grafico (Diagramma di Gantt, ...) |40+ formule pratiche (Calcola letà in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti Unione & Dividi (Unione avanzata righe, Dividi celle, ...) | ... e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
  • Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!

Tutti gli add-in Kutools. Un solo programma di installazione

La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.

Excel Word Outlook Tabs PowerPoint
  • Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
  • Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
  • Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
  • Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in