Preskoči na glavno vsebino

Ustvarite več map in podmap s seznama podatkov v Excelu

Avtor: Xiaoyang Zadnja sprememba: 2024-03-01

Recimo, da imate seznam imen osebja znotraj obsega delovnih listov in želite za vsakega ustvariti posamezne mape za shranjevanje njihovih informacij. Ročno ustvarjanje posamezne mape je lahko zamudno. Vendar pa obstajajo učinkovite metode za pospešitev tega procesa. V tem priročniku bom delil več pristopov za hitro ustvarjanje map na podlagi navedenih vrednosti celic.

Ustvarite mape na podlagi vrednosti celic

Ustvarite mape in podmape na podlagi vrednosti celic s kodo VBA


Ustvarite mape na podlagi vrednosti celic

V tem razdelku bomo podrobno raziskali različne metode in ponudili obsežna navodila po korakih za hitro in enostavno ustvarjanje map na podlagi seznama vrednosti celic.

Ustvarite mape s seznama z uporabo ukaza MD in Beležnice

Pretvarjanje seznama iz Excela v mape z uporabo ukaza MD in Beležnice je pameten trik, ki združuje preprosto paketno skriptiranje z Excelovo spretnostjo za organiziranje stvari. Ta metoda je odlična za hitro izdelavo številnih map, ne da bi morali vse narediti ročno. Tukaj je vodnik po korakih za dokončanje te naloge:

1. korak: Uporabite ukaz MD za ustvarjanje formul

Kopirajte ali vnesite naslednjo formulo v prazno celico poleg vrednosti prve celice (na primer B1) in nato povlecite ročico za polnjenje navzdol, da uporabite formulo za vse elemente seznama.

="MD "&A1

2. korak: Kopirajte in prilepite formule v datoteko Beležnice

  1. Pritisnite Ctrl + C za kopiranje celic s formulo ukaza MD.
  2. Odprto Beležnica in pritisnite Ctrl + V da prilepite ukaze v novo datoteko.

3. korak: shranite datoteko beležnice kot datoteko .bat

klik Shrani kot Iz file zavihek v Beležnici, v Shrani kot pogovornem oknu izberite imenik, v katerem želite ustvariti več map, in nato poimenujte to datoteko z a . Bat razširitev. Na koncu kliknite Shrani . Oglejte si posnetek zaslona:

4. korak: Dvokliknite datoteko .bat, da ustvarite več map

  1. Zaprite datoteko Beležnice in se pomaknite do mape, v katero ste prej shranili datoteko .bat.
  2. Zdaj pa bodite priča čarovniji: dvokliknite datoteko in videli boste, da se ustvarja več map hkrati. Oglejte si spodnjo predstavitev:
 

Ustvarite mape s seznama z uporabo zmogljivega orodja – Kutools for Excel

Z močnimi Kutools za ExcelJe Ustvari mape iz vsebine celice funkcijo, lahko zdaj preprosto in hitro ustvarite mape iz Excelovega seznama. Vendar se ne ustavi le pri osnovnih mapah; Kutools vam omogoča tudi ustvarjanje kompleksnih struktur z večnivojskimi podmapami naenkrat. Le nekaj preprostih korakov lahko pretvori podatke iz Excela v organiziran sistem map, kar bistveno poveča vašo produktivnost.

Opombe: Če želite uporabiti to Ustvari mape iz vsebine celice funkcijo, prosim prenesite in namestite Kutools za Excel najprej.

Po namestitvi Kutools za Excel, Kliknite Kutools Plus > Uvozno-izvoznih > Ustvari mape iz vsebine celice da odprete Ustvari mape iz vsebine celice pogovorno okno:

  1. Izberite vrednosti celic, na podlagi katerih želite ustvariti mape;
  2. Nato kliknite na gumb za določitev ciljne mape, v katero želite shraniti mape;
  3. Nazadnje kliknite OK gumb.

Rezultat:

Kutools bo obdelal seznam iz vašega lista in ustvaril mapo za vsak vnos v določenem cilju. Pomaknite se do ciljne mape, da vidite rezultat. Oglejte si posnetek zaslona:

Nasvet:
  1. Ta uporabna funkcija lahko pomaga tudi pri ustvarjanje map skupaj z njihovimi podmapami kot potrebujete. Če želite to narediti, morate v celice vnesti želena imena map in podmap, pri čemer uporabite znak obrnjene poševnice (\), da ločite vsako raven. Vsebina vsake celice bo služila kot vodilo za nastavitev želene strukture map in podmap.

    Nato uporabite Ustvari mape iz vsebine celice funkcijo, bodo vse mape skupaj z njihovimi podmapami uspešno ustvarjene. Oglejte si posnetek zaslona:
  2. Če želite uporabiti to funkcijo, prosim prenesite in namestite Kutools za Excel najprej.
 

Ustvarite mape s seznama z uporabo kode VBA

Uporaba kode VBA v Excelu lahko spremeni dolgočasno nalogo ustvarjanja map s seznama v hiter, avtomatiziran postopek. Ta razdelek vam bo pokazal, kako uporabiti kodo VBA za ustvarjanje map.

1. korak: Odprite urejevalnik modulov VBA in kopirajte kodo

  1. Drži dol ALT + F11 tipke v Excelu in odpre Microsoft Visual Basic za aplikacije okno.
  2. klik Vstavi > Moduliin prilepite naslednjo kodo v Moduli Okno.
    Koda VBA: ustvarite mape na podlagi seznama vrednosti celic
    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
    

2. korak: Izvedite kodo

  1. Po lepljenju te kode pritisnite F5 ključ za zagon te kode. V pozivnem polju izberite vrednosti celic, iz katerih želite ustvariti mape. In nato kliknite OK.
  2. Nato v naslednjem Izberite ciljno mapo podajte ciljno pot za izhod ustvarjenih map. In nato kliknite OK gumb, glej posnetek zaslona:

Rezultat:

Po izvedbi kode VBA se pomaknite v ciljni imenik in si oglejte rezultat. Tam boste našli novo ustvarjene mape, od katerih vsaka ustreza elementu z vašega Excelovega seznama. glej posnetek zaslona:

Nasvet:
  1. Če so v celicah podvojeni vnosi, bo zagon kode ustvaril samo eno mapo za te dvojnike.
  2. Če pogosto uporabljate to kodo, razmislite o shranjevanju svojega delovnega zvezka Excelov delovni zvezek z omogočenimi makri format. To dejanje ohrani kodo v delovnem zvezku, kar vam omogoča, da jo v prihodnosti neposredno izvedete, ne da bi morali ponovno vnesti ali uvoziti kodo.

Ustvarite mape in podmape na podlagi vrednosti celic s kodo VBA

Občasno se lahko znajdete v situaciji, ko morate ustvariti ne samo mape, ampak tudi njihove ustrezne podmape, vse na podlagi podatkov znotraj Excelovih celic. Za dosego te naloge bom tukaj predstavil kodo VBA.

1. korak: Pripravite podatke

Najprej morate vnesti podatke, kot je prikazano na spodnji sliki zaslona, ​​imena glavnih map postavite v prvi stolpec in imena podmap v drugi stolpec.

2. korak: Odprite urejevalnik modulov VBA in kopirajte kodo

  1. Drži dol ALT + F11 tipke v Excelu in odpre Microsoft Visual Basic za aplikacije okno.
  2. klik Vstavi > Moduliin prilepite naslednjo kodo v Moduli Okno.
    Koda VBA: ustvarite mape in podmape na podlagi vrednosti celic
    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
    

3. korak: Izvedite kodo

  1. Po lepljenju te kode pritisnite F5 ključ za zagon te kode. V pozivnem polju izberite vrednosti celic, iz katerih želite ustvariti mape. In nato kliknite OK.
  2. V naslednjem pojavnem oknu določite ciljno pot za izhod ustvarjenih map. In nato kliknite OK gumb, glej posnetek zaslona:

Rezultat:

Po izvedbi kode VBA pojdite v ciljni imenik in si oglejte rezultat. Ugotovili boste, da so bile mape in njihove ustrezne podmape, kot narekujejo vrednosti celic, uspešno ustvarjene, kot je prikazano na naslednjem posnetku zaslona:

Nasvet:
  1. Ta koda je na voljo samo za ustvarjanje samo glavnih map in njihovih podmap na prvi ravni.
  2. Če pogosto uporabljate to kodo, razmislite o shranjevanju svojega delovnega zvezka Excelov delovni zvezek z omogočenimi makri format. To dejanje ohrani kodo v delovnem zvezku, kar vam omogoča, da jo v prihodnosti neposredno izvedete, ne da bi morali ponovno vnesti ali uvoziti kodo.

Sorodni članki:

  • Seznam vseh map in podmap v Excelu
  • Ste že kdaj trpeli zaradi te težave, ki vsebuje vse mape in podmape iz določenega imenika na delovni list? V Excelu ni na hiter in priročen način, da naenkrat dobite ime vseh map v določenem imeniku. Ta članek vam bo morda v pomoč pri reševanju naloge.
  • Kopirajte ali premaknite datoteke iz ene mape v drugo na podlagi seznama
  • Če imate seznam imen datotek v stolpcu na delovnem listu in datoteke poiščete v mapi v računalniku. Zdaj pa morate te datoteke, katerih imena so navedena na delovnem listu, iz prvotne mape premakniti ali kopirati v drugo, kot je prikazano na spodnji sliki zaslona. Kako lahko to nalogo končate čim hitreje v Excelu?
  • Preimenujte več datotek v mapi
  • Morda večina izmed nas trpi zaradi te težave, da moramo v mapi preimenovati več datotek, če jih bomo preimenovali eno za drugo, nas bo ponorelo, če bo v tej mapi na stotine ali tisoče datotek. Ali obstajajo dobre funkcije za reševanje te naloge?
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