Gå til hovedindhold

Opret flere mapper og undermapper fra en liste over data i Excel

Antag, at du har en liste over medarbejdernavne inden for et regnearksområde og sigter mod at oprette individuelle mapper for hver til at gemme deres oplysninger. Manuel oprettelse af hver mappe kan være tidskrævende. Der er dog effektive metoder til at fremskynde denne proces. I denne vejledning vil jeg dele flere tilgange til hurtigt at generere mapper baseret på de angivne celleværdier.

Opret mapper baseret på celleværdier

Opret mapper og undermapper baseret på celleværdier med VBA-kode


Opret mapper baseret på celleværdier

I dette afsnit vil vi udforske forskellige metoder i detaljer og tilbyde omfattende trin-for-trin instruktioner til hurtigt og ubesværet at oprette mapper baseret på en liste over celleværdier.

Opret mapper fra en liste ved at bruge MD-kommando og Notesblok

At omdanne en liste fra Excel til mapper ved hjælp af MD-kommandoen og Notesblok er et smart trick, der blander let batchscripting med Excels evne til at holde tingene organiseret. Denne metode er fantastisk til at lave mange mapper hurtigt uden at skulle gøre det hele i hånden. Her er en trin-for-trin guide til at udføre denne opgave:

Trin 1: Brug MD-kommandoen til at oprette formler

Kopier eller indtast følgende formel i en tom celle ved siden af ​​din første celleværdi (for eksempel B1), og træk derefter udfyldningshåndtaget ned for at anvende formlen på alle dine listeelementer.

="MD "&A1

Trin 2: Kopier og indsæt formlerne i en Notesblok-fil

  1. Presse Ctrl + C for at kopiere cellerne med MD-kommandoformlen.
  2. Åbne Notepad og tryk Ctrl + V for at indsætte kommandoerne i en ny fil.

Trin 3: Gem Notepad-filen som .bat-fil

Klik Gem som fra filet fanen i Notesblok, i Gem som dialogboksen, vælg en mappe, hvor du vil oprette flere mapper, og giv derefter et navn til denne fil med en bat udvidelse. Klik til sidst Gem knap. Se skærmbillede:

Trin 4: Dobbeltklik på .bat-filen for at generere flere mapper

  1. Luk Notesblok-filen, naviger til den mappe, hvor du tidligere har gemt .bat-filen.
  2. Vær nu vidne til magien: Dobbeltklik på filen, og du vil se flere mapper blive oprettet på én gang. Se demoen herunder:
 

Opret mapper fra en liste ved hjælp af kraftfuldt værktøj - Kutools til Excel

Med de magtfulde Kutools til Excel's Opret mapper fra celleindhold funktion, kan du nu nemt og hurtigt oprette mapper fra en Excel-liste. Men det stopper ikke ved kun grundlæggende mapper; Kutools giver dig også mulighed for at skabe komplekse strukturer med undermapper på flere niveauer på én gang. Bare et par enkle trin kan transformere data fra Excel til et organiseret mappesystem, hvilket øger din produktivitet markant.

Bemærk: Hvis du vil bruge dette Opret mapper fra celleindhold funktion, tak download og installer Kutools til Excel først.

Efter installation Kutools til Excel, Skal du klikke Kutools Plus > Import Eksport > Opret mapper fra celleindhold at åbne Opret mapper fra celleindhold dialog boks:

  1. Vælg de celleværdier, du vil oprette mapper baseret på;
  2. Klik derefter på knappen for at angive den destinationsmappe, du vil gemme mapperne;
  3. Endelig skal du klikke OK .

Resultat:

Kutools vil behandle listen fra dit ark og oprette en mappe for hver post i den angivne destination. Naviger til destinationsmappen for at se resultatet. Se skærmbillede:

tips:
  1. Denne nyttige funktion kan også hjælpe med oprette mapper sammen med deres undermapper som du har brug for. For at gøre dette skal du indtaste de ønskede mappe- og undermappenavne i cellerne ved at bruge omvendt skråstreg (\) for at adskille hvert niveau. Indholdet af hver celle vil fungere som en guide til opsætning af den ønskede struktur af mapper og undermapper.

    Anvend derefter Opret mapper fra celleindhold funktion, vil alle mapper sammen med deres undermapper blive oprettet med succes. Se skærmbillede:
  2. For at anvende denne funktion, venligst download og installer Kutools til Excel først.
 

Opret mapper fra en liste ved at bruge VBA-kode

Brug af VBA-kode i Excel kan forvandle den kedelige opgave med at oprette mapper fra en liste til en hurtig, automatiseret proces. Dette afsnit viser dig, hvordan du anvender VBA-kode til at generere mapper.

Trin 1: Åbn VBA-moduleditoren og kopier koden

  1. Hold nede i ALT + F11 nøgler i Excel, og det åbner Microsoft Visual Basic til applikationer vindue.
  2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
    VBA-kode: Opret mapper baseret på en liste over celleværdier
    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
    

Trin 2: Udfør koden

  1. Når du har indsat denne kode, skal du trykke på F5 nøglen til at køre denne kode. I promptboksen skal du vælge de celleværdier, du vil oprette mapper fra. Og klik derefter OK.
  2. Derefter i det følgende Vælg destinationsmappen vinduet, skal du angive destinationsstien til output af de oprettede mapper. Og klik derefter OK knap, se skærmbillede:

Resultat:

Når du har udført VBA-koden, skal du gå over til destinationsbiblioteket for at se resultatet. Der finder du de nyoprettede mapper, som hver svarer til et element fra din Excel-liste. se skærmbillede:

tips:
  1. Hvis der er dubletter i cellerne, vil kørsel af koden resultere i, at der kun oprettes én mappe til disse dubletter.
  2. Hvis du ser dig selv at bruge denne kode ofte, kan du overveje at gemme din projektmappe i Excel-makroaktiveret projektmappe format. Denne handling bevarer koden i projektmappen, så du kan udføre den direkte i fremtiden uden at skulle genindtaste eller genimportere koden.

Opret mapper og undermapper baseret på celleværdier med VBA-kode

Nogle gange kan du finde dig selv i en situation, hvor du skal generere ikke bare mapper, men også deres tilsvarende undermapper, alt sammen baseret på dataene i Excel-celler. For at nå denne opgave vil jeg her introducere en VBA-kode.

Trin 1: Forbered dataene

Først skal du indtaste dataene som følgende skærmbillede, placere hovedmappenavnene i den første kolonne og navnene til undermapperne i den anden kolonne.

Trin 2: Åbn VBA-moduleditoren og kopier koden

  1. Hold nede i ALT + F11 nøgler i Excel, og det åbner Microsoft Visual Basic til applikationer vindue.
  2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
    VBA-kode: Opret mapper og undermapper baseret celleværdier
    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
    

Trin 3: Udfør koden

  1. Når du har indsat denne kode, skal du trykke på F5 nøglen til at køre denne kode. I promptboksen skal du vælge de celleværdier, du vil oprette mapper fra. Og klik derefter OK.
  2. Angiv destinationsstien til output af de oprettede mapper i det følgende åbnede vindue. Og klik derefter OK knap, se skærmbillede:

Resultat:

Når du har udført VBA-koden, skal du gå til destinationsbiblioteket for at se resultatet. Du vil opdage, at mapperne og deres respektive undermapper, som dikteret af celleværdierne, er blevet oprettet som følgende skærmbillede:

tips:
  1. Denne kode er kun tilgængelig til kun at oprette hovedmapperne og deres undermapper på første niveau.
  2. Hvis du ser dig selv at bruge denne kode ofte, kan du overveje at gemme din projektmappe i Excel-makroaktiveret projektmappe format. Denne handling bevarer koden i projektmappen, så du kan udføre den direkte i fremtiden uden at skulle genindtaste eller genimportere koden.

Relaterede artikler:

  • Liste over alle mapper og undermapper i Excel
  • Har du nogensinde lidt med dette problem, der viser alle mapper og undermapper fra en bestemt mappe til et regneark? I Excel er der ingen hurtig og praktisk måde at få navnet på alle mapperne i en bestemt mappe på én gang. For at håndtere opgaven kan denne artikel hjælpe dig.
  • Kopier eller flyt filer fra en mappe til en anden baseret på en liste
  • Hvis du har en liste over filnavne i en kolonne i et regneark, og filerne findes i en mappe i din computer. Men nu skal du flytte eller kopiere disse filer, hvilke navne er anført i regnearket fra deres originale mappe til en anden som følgende skærmbillede vist. Hvordan kunne du afslutte denne opgave så hurtigt som muligt i Excel?
  • Omdøb flere filer i en mappe
  • Det kan være, at de fleste af os lider af dette problem, at vi har brug for at omdøbe flere filer i en mappe. At omdøbe filnavnene en efter en vil gøre os vanvittige, hvis der er hundreder eller tusinder filer i den mappe. Er der nogen gode funktioner for os til at håndtere denne opgave?
Comments (63)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
níže CZ verze

EN:

A better way to do this in a few seconds is to use cmd (.bat file)

If you have a list of names in excel, add the word MKdir in front of the name (folder name) and if it contains a space put the name in quotes. Then just copy it to notepad, save as and add the .bat extension. Once you have this, substitute the .bat file in the folder where it wants to be created and you're done.

If you want the cmd not to close write at the end of the puase like below

Here is the 3 word code *5* :

start
________
MKdir "Pixie Pin"

pause
________
end


this creates a folder named Pixie Pin in the folder where the command was run

CZ:

Lepší způsob jak to udělat během par sec. je použít cmd (.bat soubor)

Pokud máte seznam jmen v excelu, doplňte pomocí vzorečku slovo MKdir před jmeno (název složky) a pokud obsahuje mezeru dejte název do uvozovek. Poté stačí jen zkopírovat do oznámkového bloku (NotePad), dát uložit jako a dopsat příponu .bat . Jakmile toto máte, supsťte .bat soubor ve složce kde chce aby se vytvořili a máte to.

Pokud chcete aby se cmd nezavřelo napište na konec puase jako je níže

Zde je ten 3 slovný kód *5* :

start
________
MKdir "Pixie Pin"

pause
________
konec


toto vytvoří složku s názvem Pixie Pin ve složce kde byl příkaz spuštěn
This comment was minimized by the moderator on the site
This worked really well, even for someone with zero experience with VBA :-)
Would it be possible to adapt the macro or extend the macro to also create hyperlinks to the folders in the selected cells?
So for instance, Cell A3 is selected and you run the macro and the folder is created. Would it be possible to make cell A3 a hyperlink to the folder by expanding on the macro instead of doing that manually?
This comment was minimized by the moderator on the site
Hello, Marloes
To create hyperlinks for the cell values, the following vba code may help you:

First, please select the cell values, and then run this code, and select a folder for outputting the folders.

Sub MakeFoldersAndAddHyperlinksWithFolderSelection()
    Dim Rng As Range
    Dim maxRows, maxCols, r, c As Integer
    Dim folderPath As String
    Dim baseFolderPath As String
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    
    With fd
        If .Show = -1 Then
            baseFolderPath = .SelectedItems(1) & "\"
        Else
            MsgBox "No folder selected. Operation Cancelled."
            Exit Sub
        End If
    End With
    
    Set Rng = Selection
    maxRows = Rng.Rows.Count
    maxCols = Rng.Columns.Count
    
    For c = 1 To maxCols
        For r = 1 To maxRows
            folderPath = baseFolderPath & Rng.Cells(r, c).Value
            If Len(Dir(folderPath, vbDirectory)) = 0 Then
                MkDir folderPath
                On Error Resume Next
                ActiveSheet.Hyperlinks.Add Anchor:=Rng.Cells(r, c), Address:=folderPath, TextToDisplay:=Rng.Cells(r, c).Value
                On Error GoTo 0
            End If
        Next r
    Next c
End Sub


Please have a try, thank you!
This comment was minimized by the moderator on the site
please, i need that same macro but instead of saving them as folders, i need it to save as Excels.
This comment was minimized by the moderator on the site
is it possible to introduce a condition where if that condition is met the module can create 2 folders (each using a different path)?
if the first list of folders is in the A column then the condition occurs in the U column. The conditional criteria is whether the cell is empty or not.
if the condition is not met the module only makes one folder based on the selection.
This comment was minimized by the moderator on the site
Hi, a_c, sorry I have not found a method can solve this job yet.
This comment was minimized by the moderator on the site
Thank you very much
This comment was minimized by the moderator on the site
Thanks a lot! Your VBA code is really super
This comment was minimized by the moderator on the site
Is it possible to import data from a word to excel on colors algorythme? So, I spell the cities with red and countries with blue in a word, and the to import only these to excel. I don’t know if I made myself clear. Thanks
This comment was minimized by the moderator on the site
Thank you, this has saved me literally days of work.
This comment was minimized by the moderator on the site
Hello,


For the following code it shows error in

MkDir (ActiveWorkbook.Path & "\" & Rng(r, c))



It says Runtime error 76 path not found



Can someone please help me with this?

There are no unsupported characters in the file path.
Not sure what could be the problem

Thanks for the help!
This comment was minimized by the moderator on the site
thank you , time saved
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations