Hur listar jag alla mappar och undermappar i Excel?
Har du någonsin drabbats av detta problem som listar alla mappar och undermappar från en viss katalog i ett kalkylblad? I Excel finns det inget snabbt och praktiskt sätt att få namnet på alla mappar i en viss katalog samtidigt. För att hantera uppgiften kan den här artikeln hjälpa dig.
Lista alla mappar och undermappar med VBA-kod
Lista alla mappar och undermappar med VBA-kod
Om du vill hämta alla mappnamn från en viss katalog kan följande VBA-kod hjälpa dig, gör så här:
1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic for Applications-fönstret.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.
VBA-kod: Lista alla mappar och undermappnamn
Sub FolderNames()
'Update 20141027
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. Tryck sedan på F5 nyckel för att köra den här koden och en Välj mapp fönstret kommer att dyka upp, då måste du välja den katalog som du vill lista mapp- och undermappens namn, se skärmdump:
4. Klicka OK, och du får mappens och undermappens sökväg, katalog, namn, skapat datum och senast ändrade datum i en ny arbetsbok, se skärmdump:
Relaterad artikel:
Hur listar jag filer i en katalog till kalkylblad i Excel?
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!