Ga naar hoofdinhoud

Maak meerdere mappen en submappen op basis van een lijst met gegevens in Excel

Auteur: Xiaoyang Laatst gewijzigd: 2024-03-01

Stel dat u een lijst met personeelsnamen binnen een werkbladbereik heeft en dat u voor elk een afzonderlijke map wilt maken om hun informatie op te slaan. Het handmatig aanmaken van elke map kan tijdrovend zijn. Er zijn echter efficiënte methoden om dit proces te versnellen. In deze handleiding deel ik verschillende manieren om snel mappen te genereren op basis van de opgegeven celwaarden.

Maak mappen op basis van celwaarden

Maak mappen en submappen op basis van celwaarden met VBA-code


Maak mappen op basis van celwaarden

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

Maak mappen uit een lijst met behulp van de MD-opdracht en Kladblok

Een lijst vanuit Excel omzetten in mappen met behulp van de MD-opdracht en Kladblok is een slimme truc die eenvoudige batchscripting combineert met de vaardigheid van Excel om dingen georganiseerd te houden. Deze methode is ideaal als u snel veel mappen wilt maken, zonder dat u dit allemaal met de hand hoeft te doen. Hier is een stapsgewijze handleiding om deze taak te volbrengen:

Stap 1: Gebruik de MD-opdracht om formules te maken

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

="MD "&A1

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

  1. Media CTRL + C om de cellen te kopiëren met de MD-opdrachtformule.
  2. Openen blocnote en druk op Ctrl + V om de opdrachten in een nieuw bestand te plakken.

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

Klik Opslaan als van het Dien in tabblad in Kladblok, in het Opslaan als dialoogvenster, kies een map waarin u meerdere mappen wilt maken en geef vervolgens een naam voor dit bestand met a . Beat verlenging. Klik ten slotte Bespaar knop. Zie screenshot:

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

  1. Sluit het Kladblok-bestand en navigeer naar de map waarin u eerder het .bat-bestand hebt opgeslagen.
  2. Wees nu getuige van de magie: dubbelklik op het bestand en je zult zien dat er in één keer meerdere mappen worden aangemaakt. Zie de demo hieronder:
 

Maak mappen uit een lijst met behulp van een krachtige tool - Kutools voor Excel

Met de machtigen Kutools for Excel's Maak mappen van celinhoud Met deze functie kunt u nu eenvoudig en snel mappen maken vanuit een Excel-lijst. Maar het stopt niet bij alleen basismappen; Met Kutools kunt u ook in één keer complexe structuren met submappen met meerdere niveaus maken. Met slechts een paar eenvoudige stappen kunnen gegevens uit Excel worden omgezet in een georganiseerd mappensysteem, waardoor uw productiviteit aanzienlijk wordt verhoogd.

Note: Als u dit wilt gebruiken Maak mappen van celinhoud functie, alstublieft download en installeer Kutools voor Excel kopen.

Na het installeren van Kutools for Excel, Klik dan Koetools Plus > Import / Export > Maak mappen van celinhoud om de te openen Maak mappen van celinhoud dialoog venster:

  1. Selecteer de celwaarden waarop u mappen wilt maken op basis van;
  2. Klik vervolgens op de knop om de doelmap op te geven waarin u de mappen wilt opslaan;
  3. Klik ten slotte op OK knop.

Resultaat:

Kutools verwerkt de lijst van uw blad en maakt een map aan voor elk item op de opgegeven bestemming. Navigeer naar de doelmap om het resultaat te bekijken. Zie schermafbeelding:

Tips:
  1. Deze handige functie kan ook helpen maak mappen samen met hun submappen zoals je nodig hebt. Om dit te doen, moet u de gewenste map- en submapnamen in de cellen invoeren, waarbij u het backslash-teken (\) gebruikt om elk niveau te scheiden. De inhoud van elke cel fungeert als leidraad voor het instellen van de gewenste structuur van mappen en submappen.

    Pas vervolgens de Maak mappen van celinhoud functie worden alle mappen en hun submappen met succes aangemaakt. Zie schermafbeelding:
  2. Om deze functie toe te passen, alstublieft download en installeer Kutools voor Excel kopen.
 

Maak mappen uit een lijst met behulp van VBA-code

Het gebruik van VBA-code in Excel kan de vervelende taak van het maken van mappen uit een lijst transformeren in een snel, geautomatiseerd proces. In deze sectie wordt uitgelegd hoe u VBA-code toepast om mappen te genereren.

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

  1. Houd de toets ingedrukt ALT + F11 toetsen in Excel, en het opent het Microsoft Visual Basic voor toepassingen venster.
  2. Klik Invoegen > Moduleen plak de volgende code in het Module Venster.
    VBA-code: maak mappen 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. Druk na het plakken van deze code op F5 toets om deze code uit te voeren. Selecteer in het promptvenster de celwaarden waaruit u mappen wilt maken. En klik dan OK.
  2. Vervolgens in het volgende Selecteer de doelmap geeft u het doelpad op om de gemaakte mappen uit te voeren. En klik dan OK knop, zie screenshot:

Resultaat:

Nadat u de VBA-code hebt uitgevoerd, gaat u naar de doelmap om het resultaat te bekijken. Daar vindt u de nieuw aangemaakte mappen, die elk overeenkomen met een item uit uw Excel-lijst. zie schermafdruk:

Tips:
  1. Als er dubbele vermeldingen in de cellen voorkomen, zal het uitvoeren van de code ertoe leiden dat er slechts één map wordt gemaakt voor die duplicaten.
  2. Als u merkt dat u deze code regelmatig gebruikt, kunt u overwegen uw werkmap op te slaan in Excel-werkmap met ingeschakelde macro's formaat. Door deze actie blijft de code in de werkmap behouden, zodat u deze in de toekomst direct kunt uitvoeren zonder dat u de code opnieuw hoeft in te voeren of te importeren.

Maak mappen en submappen op basis van celwaarden met VBA-code

Af en toe komt u misschien in een situatie terecht waarin u niet alleen mappen moet genereren, maar ook de bijbehorende submappen, allemaal gebaseerd op de gegevens in Excel-cellen. Om deze taak te volbrengen, zal ik hier een VBA-code introduceren.

Stap 1: Bereid de gegevens voor

Eerst moet u de gegevens invoeren zoals in het onderstaande screenshot wordt getoond, plaats de namen van de hoofdmap in de eerste kolom en de namen voor de submappen in de tweede kolom.

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

  1. Houd de toets ingedrukt ALT + F11 toetsen in Excel, en het opent het Microsoft Visual Basic voor toepassingen venster.
  2. Klik Invoegen > Moduleen plak de volgende code in het Module Venster.
    VBA-code: maak op mappen en submappen gebaseerde 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. Druk na het plakken van deze code op F5 toets om deze code uit te voeren. Selecteer in het promptvenster de celwaarden waaruit u mappen wilt maken. En klik dan OK.
  2. Geef in het volgende pop-outvenster het doelpad op om de gemaakte mappen uit te voeren. En klik dan OK knop, zie screenshot:

Resultaat:

Nadat u de VBA-code hebt uitgevoerd, gaat u naar de doelmap om het resultaat te bekijken. U zult zien dat de mappen en hun respectieve submappen, zoals bepaald door de celwaarden, met succes zijn aangemaakt, zoals in het volgende screenshot wordt getoond:

Tips:
  1. Deze code is alleen beschikbaar om alleen de hoofdmappen en hun submappen op het eerste niveau te maken.
  2. Als u merkt dat u deze code regelmatig gebruikt, kunt u overwegen uw werkmap op te slaan in Excel-werkmap met ingeschakelde macro's formaat. Door deze actie blijft de code in de werkmap behouden, zodat u deze in de toekomst direct kunt uitvoeren zonder dat u de code opnieuw hoeft in te voeren of te importeren.

Gerelateerde artikelen:

  • Maak een lijst van alle mappen en submappen in Excel
  • Heeft u ooit last gehad van dit probleem waarbij alle mappen en submappen van een opgegeven map in een werkblad worden weergegeven? In Excel is er geen snelle en handige manier om de naam van alle mappen in een specifieke map tegelijk te krijgen. Dit artikel kan u helpen om met de taak om te gaan.
  • Kopieer of verplaats bestanden van de ene map naar de andere op basis van een lijst
  • Als u een lijst met bestandsnamen in een kolom in een werkblad heeft en de bestanden zich in een map op uw computer bevinden. Maar nu moet u deze bestanden verplaatsen of kopiëren waarvan de namen in het werkblad worden vermeld van hun oorspronkelijke map naar een andere zoals in het volgende screenshot. Hoe kon je deze taak zo snel mogelijk voltooien in Excel?
  • Hernoem meerdere bestanden van een map
  • Misschien hebben de meesten van ons te kampen met dit probleem dat we meerdere bestanden in een map moeten hernoemen. Als we de bestandsnamen een voor een hernoemen, worden we gek als er honderden of duizenden bestanden in die map staan. Zijn er goede functies voor ons om deze taak uit te voeren?