KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Meerdere mappen en submappen aanmaken vanuit een lijst met gegevens in Excel

AuteurXiaoyang Wijzigingsdatum

Stel dat u een lijst met medewerkersnamen hebt in een werkbladbereik en voor elk van hen een individuele map wilt aanmaken om hun informatie op te slaan. Het handmatig aanmaken van elke map kost veel tijd — maar gelukkig zijn er efficiënte methoden om dit proces aanzienlijk te versnellen. In deze handleiding deel ik verschillende slimme benaderingen om razendsnel mappen te genereren op basis van de waarden in uw cellen.

Een schermafbeelding van een Excel-werkblad met een lijst van medewerkersnamen voor het maken van mappen

Mappen maken op basis van celwaarden

Mappen en submappen aanmaken op basis van celwaarden met VBA-code


Mappen maken op basis van celwaarden

In dit gedeelte verkennen we diverse methoden in detail en bieden uitgebreide, stapsgewijze instructies om snel en moeiteloos mappen te maken op basis van een lijst met celwaarden.

Mappen aanmaken vanuit een lijst met behulp van het MD-commando en Notepad

Een lijst uit Excel omzetten naar mappen met het MD-commando en Notepad is een slimme truc die eenvoudige batch-scripting combineert met de organisatorische kracht van Excel. Deze methode is ideaal om in één keer meerdere mappen aan te maken, zonder handmatig werk. Volg deze stapsgewijze handleiding om de taak vlot uit te voeren:

Stap 1: Gebruik het MD-commando om Formules maken

Kopieer of typ de volgende formule in een lege cel naast uw eerste celwaarde (bijvoorbeeld B1) en sleep daarna de vulgreep omlaag om de formule toe te passen op al uw lijstitems.

="MD "&A1

Een schermafbeelding van de MD-opdrachtformule die in Excel wordt gebruikt om mappen te maken

Stap 2: Kopieer en plak de formules in een Notepad-bestand

  1. Druk op Ctrl + C om de cellen met de MD-opdrachtformule te kopiëren.
  2. Open Kladblok en druk op „Ctrl + V” om de opdrachten in een gegenereerd bestand te plakken.
    Een schermafbeelding van Kladblok met gekopieerde MD-opdrachten uit Excel voor het maken van mappen

Stap 3: Sla het Notepad-bestand op als .bat-bestand

Klik in het tabblad **Bestand** van Notepad op **Opslaan als**. Selecteer in het dialoogvenster **Opslaan als** een map waarin u meerdere mappen wilt aanmaken, geef het bestand een naam met de extensie **.bat** en klik tot slot op **Opslaan**. Zie screenshot:
Een schermafbeelding van het dialoogvenster Opslaan als in Kladblok voor het opslaan van het bestand met een .bat-extensie

Stap 4: Dubbelklik op het .bat-bestand om meerdere mappen te genereren

  1. Sluit het Notepad-bestand en ga naar de map waarin u het .bat-bestand eerder hebt opgeslagen.
  2. Bewonder nu de magie: dubbelklik op het bestand en zie meerdere mappen tegelijkertijd worden aangemaakt. Bekijk de demo hieronder:
    Een demonstratie van dubbelklikken op een .bat-bestand om meerdere mappen te maken op basis van Excel-waarden
 

Mappen aanmaken vanuit een lijst met behulp van de krachtige tool – Kutools voor Excel

Met de krachtige functie **‘Map maken op basis van bereik’** van Kutools voor Excel maakt u in een handomdraai mappen vanuit een Excel-lijst. En het gaat verder dan alleen eenvoudige mappen: Kutools stelt u bovendien in staat om met één klik complexe, meerdere niveaus diepe submapstructuren aan te leggen. In slechts een paar simpele stappen zet u uw Excel-gegevens om in een strakke mapstructuur – en verhoogt u uw productiviteit aanzienlijk.

Kutools voor Excelbiedt meer dan 300 geavanceerde functies om complexe taken te stroomlijnen en creativiteit en efficiëntie te vergroten.Geïntegreerd met AI-mogelijkheden, automatiseert Kutools taken met precisie, waardoor gegevensbeheer moeiteloos wordt.Gedetailleerde informatie over Kutools voor Excel...         Gratis proefversie...

Na installatie van Kutools voor Excel klikt u op "KUTOOLS PLUS" > "Importeren/Exporteren" > „Map maken op basis van bereik" om het dialoogvenster Map maken op basis van bereik te openen:

  1. Selecteer de celwaarden waarop u mappen wilt baseren;
  2. Klik vervolgens op de Een schermafbeelding van de knop die wordt gebruikt om een doelmap te selecteren-knop om de doelmap op te geven waarin u de mappen wilt opslaan;
  3. Klik ten slotte op de knop OK.
    Een schermafbeelding van het Kutools-dialoogvenster 'Mappen maken van celinhoud' in Excel

Resultaat:

Kutools verwerkt de lijst uit uw werkblad en maakt op de opgegeven locatie automatisch een map aan voor elk item. Navigeer naar de doelmap om het resultaat te bekijken. Zie screenshot:
Een schermafbeelding van de uitvoer van mappen gemaakt door Kutools for Excel

Tips:
  1. Deze handige functie stelt u in staat om mappen samen met hun submappen aan te maken, precies zoals u dat nodig heeft. Voer hiervoor de gewenste map- en submapnamen in de cellen in, waarbij u het backslash-teken (\) gebruikt om elk niveau te scheiden. De inhoud van elke cel dient als leidraad voor de gewenste mapstructuur.
    Een schermafbeelding van mappen met submappen gemaakt op basis van Excel-celwaarden
    Pas vervolgens de functie „Map maken op basis van bereik” toe – en al uw mappen inclusief submappen worden direct aangemaakt. Zie screenshot:
    Een schermafbeelding van mappen met submappen gemaakt op basis van Excel-celwaarden
  2. Om deze functie te gebruiken, moet u Kutools voor Excel downloaden en installeren.
 

Mappen aanmaken vanuit een lijst met behulp van VBA-code

Met VBA-code in Excel verandert u het tijdrovende handmatig aanmaken van mappen vanuit een lijst in een snelle, geautomatiseerde procedure. In dit gedeelte laten we u zien hoe u met VBA eenvoudig mappen genereert.

Stap 1: Open de VBA-module-editor en kopieer de code

  1. Druk op ALT + F11 in Excel om het venster Microsoft Visual Basic for Applications te openen.
  2. Klik op "Invoegen" > „Module" en plak de volgende code in het modulevenster.
    VBA-code: Mappen aanmaken op basis van een lijst met celwaarden
    Sub CreateFoldersFromSelection()
    'Updateby Extendoffice
        Dim FolderPath As String
        Dim Cell As Range
        Dim SelectedRange As Range
        Dim FolderName As String
        On Error Resume Next
        Set SelectedRange = Application.InputBox("Select the range with folder names", "Kutools for Excel", Type:=8)
        If SelectedRange Is Nothing Then Exit Sub
        On Error GoTo 0
        
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "Select the destination Folder"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            FolderPath = .SelectedItems(1) & "\"
        End With
        
        For Each Cell In SelectedRange
            FolderName = FolderPath & Cell.Value
            If Cell.Value <> "" And Not FolderExists(FolderName) Then
                MkDir FolderName
            End If
        Next Cell
    End Sub
    
    Function FolderExists(ByVal Path As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(Path) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

Stap 2: Voer de code uit

  1. Nadat u deze code hebt geplakt, drukt u op F5 om de code uit te voeren. Selecteer in het dialoogvenster de celwaarden waaruit u mappen wilt maken en klik op OK.
    Een schermafbeelding van de VBA-prompt om celwaarden te selecteren voor het maken van mappen in Excel
  2. Geef in het venster **‘Selecteer de doelmap’** het pad op waar de aangemaakte mappen moeten worden opgeslagen en klik daarna op **OK**. Zie screenshot:
    Een schermafbeelding van het dialoogvenster om een doelmap te selecteren voor door VBA gemaakte mappen in Excel

Resultaat:

Na uitvoering van de VBA-code gaat u naar de doelmap om het resultaat te bekijken. Daar vindt u de nieuw aangemaakte mappen, elk gekoppeld aan een item uit uw Excel-lijst. Zie screenshot:
Een schermafbeelding van de uitvoer van mappen gemaakt door VBA

Tips:
  1. Als er dubbele items in de cellen voorkomen, maakt de code maar één map aan.
  2. Als u deze code regelmatig gebruikt, sla uw werkmap dan op als „Excel-werkmap met macro’s ingeschakeld”. Zo blijft de code permanent in de werkmap bewaard en kunt u deze voortaan direct uitvoeren, zonder dat u de code opnieuw hoeft in te voeren of te importeren.

Mappen en submappen aanmaken op basis van celwaarden met VBA-code

Soms komt u in een situatie terecht waarin u niet alleen mappen, maar ook de bijbehorende submappen moet aanmaken — allemaal op basis van gegevens uit Excel-cellen. Voor deze taak introduceer ik hier een VBA-code.

Stap 1: Bereid de gegevens voor

Voer eerst de gegevens in zoals weergegeven in de onderstaande screenshot: plaats de hoofdmapnaam in de eerste kolom en de namen van de submappen in de tweede kolom.
Een schermafbeelding van gegevens in Excel met kolommen voor mappen en submappen

Stap 2: Open de VBA-module-editor en kopieer de code

  1. Houd de toetsencombinatie Alt + F11 in Excel ingedrukt om het venster Microsoft Visual Basic for Applications te openen.
  2. Klik op "Invoegen" > „Module" en plak de volgende code in het modulevenster.
    VBA-code: Mappen en submappen aanmaken op basis van celwaarden
    Sub CreateFoldersAndSubfoldersWithUserInput()
    'Updateby Extendoffice
        Dim Rng As Range
        Dim Cell As Range
        Dim basePath As String
        Dim fldrPicker As FileDialog
        Dim FolderPath As String, subfolderPath As String
        On Error Resume Next
        Set Rng = Application.InputBox("Select the range of cells (two columns: one is folder column, another s subfolder column):", "Kutools for Excel", Type:=8)
        If Rng Is Nothing Then Exit Sub
        On Error GoTo 0
        Set fldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
        With fldrPicker
            .Title = "Select the Base Folder Path"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            basePath = .SelectedItems(1)
        End With
        If Right(basePath, 1) <> "\" Then basePath = basePath & "\"
        For Each Cell In Rng.Columns(1).Cells
            If Not Cell.Value = "" Then
                FolderPath = basePath & Cell.Value
                If Not FolderExists(FolderPath) Then MkDir FolderPath
                If Not Cell.Offset(0, 1).Value = "" Then
                    subfolderPath = FolderPath & "\" & Cell.Offset(0, 1).Value
                    If Not FolderExists(subfolderPath) Then MkDir subfolderPath
                End If
            End If
        Next Cell
    End Sub
    
    Function FolderExists(FolderPath As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(FolderPath) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

Stap 3: Voer de code uit

  1. Nadat u deze code hebt geplakt, drukt u op F5 om de code uit te voeren. Selecteer in het dialoogvenster de celwaarden waaruit u mappen wilt maken en klik op OK.
    Een schermafbeelding van de VBA-prompt om celbereiken te selecteren voor het maken van mappen en submappen in Excel
  2. Geef in het pop-upvenster dat verschijnt het doelpad op waar de aangemaakte mappen moeten worden opgeslagen en klik daarna op OK. Zie screenshot:
    Een schermafbeelding van het VBA-dialoogvenster voor het selecteren van een basismaplocatie in Excel

Resultaat:

Na uitvoering van de VBA-code gaat u naar de doelmap om het resultaat te bekijken. U ziet dat de mappen en bijbehorende submappen, zoals bepaald door de celwaarden, succesvol zijn aangemaakt — zoals weergegeven in de onderstaande screenshot:
Een schermafbeelding van mappen en submappen gemaakt met VBA-code in Excel

Tips:
  1. Met deze code kunt u alleen hoofdmappen en hun directe submappen aanmaken.
  2. Als u deze code regelmatig gebruikt, sla uw werkmap dan op als „Excel-werkmap met macro’s ingeschakeld”. Zo blijft de code behouden en kunt u deze in de toekomst direct uitvoeren, zonder dat u deze opnieuw hoeft in te voeren of te importeren.

Gerelateerde artikelen:

  • Alle mappen en submappen in Excel weergeven
  • Hebt u ooit last gehad van het probleem dat u alle mappen en submappen uit een opgegeven directory in één werkblad moet weergeven? In Excel bestaat helaas geen snelle, handige methode om in één keer alle mapnamen uit een bepaalde directory op te halen. Dit artikel helpt u bij precies dat probleem.
  • Bestanden kopiëren of verplaatsen van de ene naar de andere map op basis van een lijst
  • Stel dat u een lijst met bestandsnamen heeft in een kolom van een werkblad en dat de bijbehorende bestanden zich in een map op uw computer bevinden. Hoe verplaatst of kopieert u deze bestanden — waarvan de namen in het werkblad staan vermeld — zo snel mogelijk van hun oorspronkelijke map naar een andere map, zoals weergegeven in de onderstaande screenshot?
  • Meerdere bestanden in een map hernoemen
  • Misschien hebben de meesten van ons last van het probleem dat we meerdere bestanden in een map moeten hernoemen. Het één voor één hernoemen van bestandsnamen maakt ons gek als er honderden of duizenden bestanden in die map staan. Bestaan er goede functies waarmee we deze taak kunnen uitvoeren?