Come elencare tutte le cartelle e sottocartelle in Excel?
Hai mai avuto questo problema di elencare tutte le cartelle e sottocartelle da una directory specifica in un foglio di lavoro? In Excel, non esiste un modo rapido e semplice per ottenere il nome di tutte le cartelle in una directory specifica in una volta sola. Per affrontare il compito, questo articolo potrebbe esserti utile.
Usa il codice VBA per elencare tutte le cartelle e sottocartelle
Usa il codice VBA per elencare tutte le cartelle e sottocartelle
Se vuoi ottenere tutti i nomi delle cartelle da una directory specificata, il seguente codice VBA potrebbe aiutarti, procedi come segue:
1. Tieni premuti i tasti "ALT + F11", e si aprirà la finestra "Microsoft Visual Basic for Applications".
2. Clicca su "Inserisci" > "Modulo", e incolla il seguente codice nella "Finestra Modulo".
Codice VBA: Elenca tutte le cartelle e i nomi delle 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. Quindi premi il tasto "F5" per eseguire questo codice, e apparirà una finestra "Scegli la cartella", dopodiché dovrai selezionare la directory di cui desideri elencare i nomi delle cartelle e delle sottocartelle, vedi screenshot:
4. Clicca su "OK", e otterrai il percorso delle cartelle e delle sottocartelle, la directory, il nome, l'ora di creazione e l'ultima ora di modifica in un nuovo workbook, vedi screenshot:
Articolo correlato:
Come elencare i file in una directory in un foglio di lavoro in Excel?
I migliori strumenti per la produttività in Office
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 risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la 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 tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!