Hoe kunt u alle mappen en submappen in Excel weergeven?
Bij het werken aan taken voor map- of bestandsbeheer komt u soms in de situatie dat u snel een volledige lijst nodig heeft van alle mappen en submappen binnen een specifieke directory, direct weergegeven in Excel. Helaas beschikt Excel niet over een ingebouwde functie of eenvoudige wizard om automatisch alle mappen en submappen op te halen uit een opgegeven bestandspad. Dit artikel presenteert VBA-code waarmee u alle mappen en submappen uit een door u gekozen directory rechtstreeks in uw werkblad kunt tonen. Zo minimaliseert u het risico op menselijke fouten, vermijdt u vervelend handwerk en behoudt u altijd grip op uw gegevensorganisatie.
Gebruik VBA-code om alle mappen en submappen weer te geven
Gebruik VBA-code om alle mappen en submappen weer te geven
Als u alle mappen en submappen uit een opgegeven directory naar Excel wilt exporteren en weergeven, is VBA (Visual Basic for Applications) een krachtige en efficiënte oplossing. Deze aanpak biedt u flexibiliteit en volledige controle, zodat u niet alleen de mapnamen kunt ophalen, maar ook aanvullende informatie zoals het bestandspad, aanmaakdatum en laatste wijzigingstijd. Deze methode is dan ook bijzonder geschikt voor gebruikers die vertrouwd zijn met de ontwikkelaarsfuncties van Excel en regelmatig werken met dynamische of voortdurend wijzigende bestandssystemen.
1. Druk op ALT + F11 om de „Microsoft Visual Basic for Applications”-editor te openen. Met deze tool kunt u macro’s toevoegen aan en bewerken in uw werkboek.
2. Klik in de VBA-editor op Invoegen > Module. Hierdoor wordt een nieuw modulevenster gemaakt. Kopieer en plak de volgende code in de module:
VBA-code: Alle mappen en subMapnaams weergeven
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. Nadat u de code hebt ingevoegd, drukt u op F5 of klikt u op de knop Uitvoeren in de VBA-editor om de macro uit te voeren. Er verschijnt dan het dialoogvenster Kies de map, waarin u wordt gevraagd de doeldirectory te selecteren die u wilt scannen op mappen en submappen.

4. Selecteer de gewenste map en klik op OK. De macro verwerkt de map en genereert direct een lijst met werkmappen die alle mappen en submappen bevat, inclusief hun volledige paden, directe bovenliggende map, bestandsnamen, aanmaakdatums en laatst gewijzigde datums, zoals hieronder wordt weergegeven:

Enkele praktische tips en opmerkingen voor het gebruik van deze code:
- Als uw mapstructuur zeer uitgebreid is, kan de macro enige tijd nodig hebben om alle mappen te verwerken. Wees geduldig tijdens het uitvoeren en onderbreek het proces niet.
- De VBA-methode vereist dat uw macro-instellingen zijn ingeschakeld; anders wordt de code niet correct uitgevoerd. Als u beveiligingswaarschuwingen tegenkomt, controleer dan uw Trust Center-instellingen onder Excel-opties.
- Als u per ongeluk de verkeerde map selecteert, voert u de macro eenvoudig opnieuw uit en kiest u de juiste map.
- Deze aanpak toont alleen informatie over mappen en submappen. Als u ook bestanden wilt weergeven, bekijkt u het gerelateerde artikel hieronder voor meer opties.
- Als meerdere gebruikers het werkboek delen, herinner hen eraan dat ze macro’s op hun eigen computer moeten inschakelen om gebruik te kunnen maken van deze dynamische lijstfunctionaliteit.
- Als het gegenereerde werkboek leeg of onvolledig is, controleer dan of de geselecteerde map niet leeg is en of u voldoende leesrechten heeft. Bij bijzonder diepe of complexe mapstructuren raden we aan om de systeembronnenlimieten te controleren en overweeg eventueel verwerking in batches of per submap.
Deze VBA-oplossing is flexibel, vereist geen extra invoegtoepassingen of externe software en genereert automatisch een uitvoerwerkboek voor uw gemak. Ze is echter het meest geschikt voor gebruikers met basiskennis van macro-bewerkingen en kan aanvullende aanpassingen vergen voor specifieke personalisaties.
Gerelateerd artikel:
Hoe kunt u bestanden uit een map weergeven in een werkblad in Excel?
Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins