Come elencare tutte le cartelle e le sottocartelle in Excel?
Hai mai sofferto di questo problema che elenca tutte le cartelle e le sottocartelle da una directory specificata in un foglio di lavoro? In Excel, non esiste un modo rapido e pratico per ottenere contemporaneamente il nome di tutte le cartelle in una directory specifica. Per affrontare l'attività, questo articolo potrebbe aiutarti.
Elenca tutte le cartelle e le sottocartelle con codice VBA
Elenca tutte le cartelle e le sottocartelle con codice VBA
Se vuoi ottenere tutti i nomi delle cartelle da una directory specificata, il seguente codice VBA potrebbe aiutarti, per favore fai come segue:
1. Tieni premuto il ALT + F11 chiavi e apre il file Finestra di Microsoft Visual Basic, Applications Edition.
2. Clic inserire > Modulie incolla il codice seguente nel file Finestra del 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 premere F5 chiave per eseguire questo codice e un file Scegli la cartella verrà visualizzata la finestra, quindi è necessario selezionare la directory in cui si desidera elencare i nomi delle cartelle e delle sottocartelle, vedere screenshot:
4. Clic OKe otterrai il percorso della cartella e delle sottocartelle, la directory, il nome, la data di creazione e la data dell'ultima modifica in una nuova cartella di lavoro, 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 ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- 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, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!