Hoe alle mappen en submappen in Excel te lijsten?
Heeft u ooit last gehad van het probleem om alle mappen en submappen uit een bepaalde map in een werkblad te lijsten? In Excel is er geen snelle en handige manier om de namen van alle mappen in een specifieke map tegelijkertijd te krijgen. Om deze taak aan te pakken, kan dit artikel u helpen.
Gebruik VBA-code om alle mappen en submappen te lijsten
Gebruik VBA-code om alle mappen en submappen te lijsten
Als u alle mapnamen wilt ophalen uit een gespecificeerde map, kan de volgende VBA-code u helpen. Doe het volgende:
1. Houd de toetsen "ALT + F11" ingedrukt, en het venster "Microsoft Visual Basic for Applications" wordt geopend.
2. Klik op "Invoegen" > "Module", en plak de volgende code in het "Modulevenster".
VBA-code: Lijst met alle mappen en submappennamen
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. Druk vervolgens op de toets "F5" om deze code uit te voeren, en er verschijnt een venster "Kies de map". Selecteer vervolgens de map waaruit u de map- en submapnamen wilt tonen, zie screenshot:
4. Klik op "OK", en u krijgt het pad, de locatie, de naam, de aanmaaktijd en de laatste wijzigingstijd van de mappen en submappen in een nieuw werkboek, zie screenshot:
Gerelateerd artikel:
Hoe bestanden in een map naar een werkblad in Excel te lijsten?
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!