Skip to main content

Come elencare tutti i file in una cartella e nelle sottocartelle in un foglio di lavoro?

Author: Xiaoyang Last Modified: 2025-08-06

Avete mai provato a elencare tutti i nomi dei file da una cartella in un foglio di lavoro, includendo i file situati all'interno delle sue sottocartelle? In realtà, non esiste un modo diretto per elencare i nomi dei file da una cartella e dalle sue sottocartelle in Excel. Tuttavia, oggi vi presenterò alcuni trucchi rapidi per risolvere questo problema.

Elencare tutti i nomi dei file in una cartella e sottocartella con il codice VBA

Elencare rapidamente e facilmente tutti i nomi dei file in una cartella e sottocartella con Kutools per Excel


Elencare tutti i nomi dei file in una cartella e sottocartella con il codice VBA

Normalmente, Excel non ha una funzionalità integrata per gestire questa operazione, ma potete applicare il seguente codice VBA per completare questo problema.

1. Attivate un nuovo foglio di lavoro che elencherà i nomi dei file.

2. Tenete premuti i tasti ALT + F11 in Excel, e si aprirà la finestra Microsoft Visual Basic for Applications.

3. Cliccate su Inserisci > Modulo, e incollate il seguente codice nella finestra del Modulo.

Codice VBA: Elencare tutti i nomi dei file in una cartella e sottocartella

Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
  Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
  rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
  For Each xSubFolder In xFolder.SubFolders
    ListFilesInFolder xSubFolder.Path, True
  Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
  Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
  GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
  GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function

4. Dopo aver incollato il codice nel Modulo, premete il tasto F5 per eseguire questo codice, e apparirà una finestra di dialogo Macro, selezionate il nome della macro MainList, quindi cliccate sul pulsante Esegui, vedere screenshot:

a screenshot of running the VBA code

5. Nella finestra Sfoglia, selezionate la cartella da cui volete elencare tutti i nomi dei file, inclusi quelli delle sottocartelle, vedere screenshot:

a screenshot of selecting the folder you want to list all filenames including the subfolders

6. Dopo aver specificato la cartella, cliccate sul pulsante OK, e tutti i nomi dei file nella cartella e nelle sue sottocartelle verranno elencati nel foglio di lavoro corrente a partire dalla cella A2, vedere screenshot:

a screenshot of the seleted folder
a screenshot of an arrow
a screenshot listing all filenames from the selected folder and its subfolders

Elencare rapidamente e facilmente tutti i nomi dei file in una cartella e sottocartella con Kutools per Excel

Con il codice sopra, potete solo elencare i nomi dei file; a volte, avete bisogno di elencare altre proprietà, come la dimensione del file, il tipo di file, l'orario di creazione, la cartella contenente e così via. Kutools per Excel contiene una funzione utile – Elenco nomi file, con questa funzione, potete elencare rapidamente tutti o tipi specifici di nomi file in una cartella e le sue sottocartelle.

Dopo aver scaricato e installato Kutools per Excel, seguite i seguenti passaggi:

1. Cliccate su Enterprise > Importa & Esporta > Elenco nomi file, vedere screenshot:

a screenshot of enabling the Filename List feature of Kutools

2. Nella finestra di dialogo Elenco nomi file, effettuate le seguenti operazioni:

A: Cliccare a screenshot of the folder iconper scegliere la cartella da cui volete elencare i nomi dei file;

B: Specificare il tipo di file che volete elencare dalla sezione Tipo di file;

C: Selezionare un'unità di dimensione file che desiderate visualizzare dalla sezione Unità di dimensione file.

Nota: Per elencare i nomi dei file dalle sottocartelle, spuntate Includi file nelle sottodirectory, potete anche spuntare Includi file e cartelle nascoste se necessario. Se selezionate Crea collegamenti ipertestuali, verranno creati collegamenti ipertestuali per ciascun nome file e cartella.

a screenshot of configuring the Filename List dialog box

3. Quindi cliccate sul pulsante OK, tutti i file contenuti nella cartella selezionata e nelle sue sottocartelle verranno visualizzati con i seguenti attributi in un nuovo foglio di lavoro. Vedere screenshot:

a screenshot listing the details of files of the selected folder

Clicca per scoprire ulteriori dettagli su questa funzione Elenco nomi file.

Scarica e prova gratuitamente Kutools per Excel Ora!


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 genera grafici | Richiama Funzioni avanzate
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca 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 a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura 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 tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!