Maak meerdere mappen en submappen aan vanuit een lijst met gegevens in Excel
Stel dat je een lijst met namen van medewerkers hebt binnen een werkbladbereik en je wilt voor elk individuele mappen aanmaken 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 benaderingen om snel mappen te genereren op basis van de opgegeven celwaarden.
Mappen maken op basis van celwaarden
- Door gebruik te maken van het MD-commando en Kladblok
- Door gebruik te maken van een krachtige functie – Kutools voor Excel
- Door gebruik te maken van VBA-code
Mappen en submappen maken op basis van celwaarden met VBA-code
Mappen maken op basis van celwaarden
In deze sectie bespreken we verschillende methoden in detail, waarbij we uitgebreide stap-voor-stap instructies bieden om snel en moeiteloos mappen te maken op basis van een lijst met celwaarden.
Mappen maken vanuit een lijst door gebruik te maken van het MD-commando en Kladblok
Het omzetten van een lijst uit Excel naar mappen met behulp van het MD-commando en Kladblok is een slim trucje dat eenvoudig batchscripting combineert met Excel's organisatievermogen. Deze methode is ideaal om snel veel mappen te maken, zonder alles handmatig te hoeven doen. Hier is een stap-voor-stap handleiding om deze taak uit te voeren:
Stap 1: Gebruik het MD-commando om formules te maken
Kopieer of voer de volgende formule in een lege cel naast uw eerste celwaarde in (B1 bijvoorbeeld), en sleep vervolgens de vulgreep omlaag om de formule toe te passen op al uw lijstitems.
="MD "&A1
Stap 2: Kopieer en plak de formules in een Kladblokbestand
- Druk op "Ctrl + C" om de cellen met de MD-commandoformule te kopiëren.
- Open Kladblok en druk op "Ctrl + V" om de commando's in een nieuw bestand te plakken.
Stap 3: Sla het Kladblokbestand op als .bat-bestand
Klik op "Opslaan als" in het "Bestand"-menu in Kladblok, kies in het dialoogvenster "Opslaan als" een map waar u meerdere mappen wilt aanmaken, en geef een naam op voor dit bestand met de extensie .bat. Klik ten slotte op de knop "Opslaan". Zie onderstaande schermafbeelding:
Stap 4: Dubbelklik op het .bat-bestand om meerdere mappen te genereren
- Sluit het Kladblokbestand en ga naar de map waar u eerder het .bat-bestand heeft opgeslagen.
- Nu komt de magie: dubbelklik op het bestand en u zult zien dat er meerdere mappen tegelijk worden aangemaakt. Zie onderstaande demo:
Mappen maken vanuit een lijst door gebruik te maken van een krachtig hulpmiddel – Kutools voor Excel
Met de krachtige functie "Map maken op basis van bereik" van Kutools voor Excel kunt u nu gemakkelijk en snel mappen aanmaken vanuit een Excel-lijst. Maar het stopt niet bij alleen basis-mappen; Kutools laat u ook complexe structuren met meerdere niveaus submappen in één keer aanmaken. Met een paar simpele stappen kunt u gegevens uit Excel omzetten in een georganiseerd mappensysteem, wat uw productiviteit aanzienlijk verhoogt.
Na installatie van Kutools voor Excel, klik op "Kutools Plus" > "Import / Export" > "Map maken op basis van bereik" om het dialoogvenster "Map maken op basis van bereik" te openen:
- Selecteer de celwaarden waarop u mappen wilt maken;
- Klik vervolgens op de
knop om de doelmap op te geven waar u de mappen wilt opslaan;
- Klik ten slotte op de OK-knop.
Resultaat:
Kutools zal de lijst uit uw blad verwerken en voor elke invoer een map aanmaken in de opgegeven bestemming. Ga naar de doelmap om het resultaat te bekijken. Zie onderstaande schermafbeelding:
- Deze handige functie helpt u ook bij het maken van mappen samen met hun submappen zoals u nodig hebt. Om dit te doen, moet u de gewenste map- en submappennamen in de cellen invoeren, waarbij u de backslash (\) gebruikt om elk niveau te scheiden. De inhoud van elke cel fungeert als een gids voor het instellen van de gewenste structuur van mappen en submappen.
Pas vervolgens de functie "Map maken op basis van bereik" toe, alle mappen samen met hun submappen worden succesvol aangemaakt. Zie onderstaande schermafbeelding: - Om deze functie te gebruiken, download en installeer Kutools voor Excel.
Mappen maken vanuit een lijst door gebruik te maken van VBA-code
Het gebruik van VBA-code in Excel kan de tijdrovende taak van het maken van mappen vanuit een lijst omzetten in een snelle, geautomatiseerde procedure. In deze sectie laten we zien hoe u VBA-code kunt toepassen om mappen te genereren.
Stap 1: Open de VBA-module-editor en kopieer de code
- Houd de toetsen "ALT + F11" ingedrukt in Excel, waardoor het venster "Microsoft Visual Basic for Applications" wordt geopend.
- Klik op "Invoegen" > "Module", en plak de volgende code in het Modulevenster.
VBA-code: Mappen maken op basis van een lijst met celwaardenSub 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
- Nadat u deze code hebt geplakt, drukt u op de F5-toets om de code uit te voeren. Selecteer in het pop-upvenster de celwaarden waarvan u mappen wilt maken. Klik vervolgens op OK.
- Geef in het volgende venster "Selecteer de doelmap" het doelpad op waar de aangemaakte mappen moeten worden uitgevoerd. Klik vervolgens op de OK-knop, zie onderstaande schermafbeelding:
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, elk corresponderend met een item uit uw Excel-lijst. Zie onderstaande schermafbeelding:
- Als er dubbele items in de cellen staan, maakt de code slechts één map aan.
- Als u deze code vaak gebruikt, overweeg dan om uw werkmap op te slaan in de indeling "Excel Macro-Enabled Workbook". Deze actie bewaart de code in de werkmap, zodat u deze in de toekomst direct kunt uitvoeren zonder de code opnieuw in te voeren of te importeren.
Mappen en submappen maken op basis van celwaarden met VBA-code
Af en toe bevindt u zich mogelijk in een situatie waarin u niet alleen mappen, maar ook hun bijbehorende submappen moet genereren, allemaal gebaseerd op de gegevens in Excel-cellen. Om deze taak uit te voeren, introduceer ik hier een VBA-code.
Stap 1: Bereid de gegevens voor
Voer eerst de gegevens in zoals in de onderstaande schermafbeelding te zien is, plaats de hoofdmapnamen 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
- Houd de toetsen "ALT + F11" ingedrukt in Excel, waardoor het venster "Microsoft Visual Basic for Applications" wordt geopend.
- Klik op "Invoegen" > "Module", en plak de volgende code in het Modulevenster.
VBA-code: Mappen en submappen maken op basis van celwaardenSub 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
- Nadat u deze code hebt geplakt, drukt u op de F5-toets om de code uit te voeren. Selecteer in het pop-upvenster de celwaarden waarvan u mappen wilt maken. Klik vervolgens op OK.
- Geef in het volgende pop-upvenster het doelpad op waar de aangemaakte mappen moeten worden uitgevoerd. Klik vervolgens op de OK-knop, zie onderstaande schermafbeelding:
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, succesvol zijn aangemaakt zoals in de volgende schermafbeelding te zien is:
- Deze code is alleen beschikbaar om de hoofdmappen en hun eerste-niveau submappen aan te maken.
- Als u deze code vaak gebruikt, overweeg dan om uw werkmap op te slaan in de indeling "Excel Macro-Enabled Workbook". Deze actie bewaart de code in de werkmap, zodat u deze in de toekomst direct kunt uitvoeren zonder de code opnieuw in te voeren of te importeren.
Gerelateerde artikelen:
- Lijst met alle bestandsnamen uit een map en submappen in een werkblad
- Als u een lijst met bestandsnamen in een directory wilt genereren in een werkblad, kunt u de volgende manieren gebruiken om snel een lijst met bestanden uit een directory in een werkblad te krijgen.
- Lijst met alle mappen en submappen in Excel
- Heeft u ooit last gehad van dit probleem om alle mappen en submappen uit een specifieke directory in een werkblad te tonen? In Excel is er geen snelle en handige manier om de namen van alle mappen in een specifieke directory tegelijk te krijgen. Om deze taak aan te pakken, kan dit artikel u helpen.
- 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 hebt en de bestanden zich in een map op uw computer bevinden, maar u nu deze bestanden die in het werkblad zijn vermeld, wilt verplaatsen of kopiëren van hun originele map naar een andere, zoals in de onderstaande schermafbeelding te zien is. Hoe kunt u deze taak zo snel mogelijk afhandelen in Excel?
- Hernoem meerdere bestanden in een map
- Misschien hebben de meesten van ons last van dit probleem waarbij we meerdere bestanden in een map moeten hernoemen. Het hernoemen van de bestandsnamen één voor één kan ons gek maken als er honderden of duizenden bestanden in die map zijn. Zijn er goede functies om dit probleem mee aan te pakken?
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!