Ugrás a tartalomra

Hozzon létre több mappát és almappát az Excel adatlistájából

Tegyük fel, hogy van egy listája az alkalmazottak nevéről egy munkalap-tartományon belül, és célja, hogy mindegyikhez külön mappát hozzon létre információik tárolására. Az egyes mappák manuális létrehozása időigényes lehet. Vannak azonban hatékony módszerek ennek a folyamatnak a felgyorsítására. Ebben az útmutatóban számos megközelítést ismertetek a mappák gyors létrehozására a megadott cellaértékek alapján.

Hozzon létre mappákat a cellaértékek alapján

Hozzon létre mappákat és almappákat a cellaértékek alapján VBA-kóddal


Hozzon létre mappákat a cellaértékek alapján

Ebben a részben részletesen megvizsgáljuk a különféle módszereket, és átfogó, lépésről lépésre szóló utasításokat kínálunk, amelyek segítségével gyorsan és könnyedén hozhat létre mappákat a cellaértékek listája alapján.

Hozzon létre mappákat egy listából az MD parancs és a Jegyzettömb használatával

Az Excel listáinak mappákká alakítása az MD paranccsal és a Jegyzettömbbel egy intelligens trükk, amely az egyszerű kötegelt parancsfájlokat ötvözi az Excel képességeivel a dolgok rendszerezésére. Ez a módszer nagyszerű arra, hogy gyorsan készítsen sok mappát anélkül, hogy kézzel kellene csinálni. Íme egy lépésenkénti útmutató a feladat végrehajtásához:

1. lépés: Használja az MD parancsot képletek létrehozásához

Másolja vagy írja be a következő képletet egy üres cellába az első cellaérték mellett (például B1), majd húzza le a kitöltő fogantyút, hogy a képletet az összes listaelemre alkalmazza.

="MD "&A1

2. lépés: Másolja ki és illessze be a képleteket egy Jegyzettömb fájlba

  1. nyomja meg Ctrl + C a cellák másolásához az MD parancsképlettel.
  2. Nyisd ki Jegyzettömb és nyomja meg az Ctrl + V a parancsok beillesztéséhez egy új fájlba.

3. lépés: Mentse el a Jegyzettömb fájlt .bat fájlként

Kattints Mentés tól filé fülön a Jegyzettömbben, a Mentés párbeszédpanelen válasszon ki egy könyvtárat, ahol több mappát szeretne létrehozni, majd adjon nevet a fájlnak a gombbal . Bat kiterjesztés. Végül kattintson Megtakarítás gomb. Lásd a képernyőképet:

4. lépés: Kattintson duplán a .bat fájlra több mappa létrehozásához

  1. Zárja be a Jegyzettömb fájlt, és keresse meg azt a mappát, amelyben korábban elmentette a .bat fájlt.
  2. Most legyen szemtanúja a varázslatnak: kattintson duplán a fájlra, és látni fogja, hogy egyszerre több mappa jön létre. Tekintse meg az alábbi bemutatót:
 

Hozzon létre mappákat egy listából egy hatékony eszközzel - Kutools for Excel

A hatalmasokkal Kutools az Excel számára'S Hozzon létre mappákat a cella tartalmából funkcióval most egyszerűen és gyorsan hozhat létre mappákat egy Excel listából. De ez nem áll meg csak az alapvető mappákban; A Kutools lehetővé teszi összetett struktúrák létrehozását is többszintű almappákkal egy lépésben. Néhány egyszerű lépéssel az Excel adatait rendezett mapparendszerré alakíthatja, jelentősen növelve a termelékenységet.

Megjegyzések: Ha ezt szeretné használni Hozzon létre mappákat a cella tartalmából funkció, kérem töltse le és telepítse a Kutools for Excel alkalmazást először.

Telepítése után Kutools az Excel számára, Kérjük, kattintson Kutools Plus > Import Export > Hozzon létre mappákat a cella tartalmából megnyitni Hozzon létre mappákat a cella tartalmából párbeszédablak:

  1. Válassza ki a cellaértékeket, amelyek alapján mappákat szeretne létrehozni;
  2. Ezután kattintson a gombbal adja meg a mappákat menteni kívánt célmappát;
  3. Végül kattintson a gombra OK gombot.

Eredmény:

A Kutools feldolgozza a listát az Ön lapjáról, és létrehoz egy mappát minden bejegyzéshez a megadott célhelyen. Az eredmény megtekintéséhez navigáljon a célmappához. Lásd a képernyőképet:

Tipp:
  1. Ez a hasznos funkció is segíthet mappákat hozhat létre az almappákkal együtt ahogy kell. Ehhez a cellákba be kell írni a kívánt mappa és almappa neveket, a fordított perjel (\) segítségével az egyes szinteket elválasztani. Az egyes cellák tartalma útmutatóként szolgál a mappák és almappák kívánt szerkezetének beállításához.

    Ezután alkalmazza a Hozzon létre mappákat a cella tartalmából funkció esetén az összes mappa az almappákkal együtt sikeresen létrejön. Lásd a képernyőképet:
  2. A funkció alkalmazásához kérjük töltse le és telepítse a Kutools for Excel alkalmazást először.
 

Hozzon létre mappákat egy listából VBA kóddal

A VBA-kód Excelben való használata gyors, automatizált folyamattá alakíthatja át a listából való mappák létrehozásának fárasztó feladatát. Ez a rész bemutatja, hogyan alkalmazhat VBA-kódot mappák létrehozásához.

1. lépés: Nyissa meg a VBA-modul szerkesztőjét, és másolja ki a kódot

  1. Tartsa lenyomva a ALT + F11 kulcsokat az Excelben, és megnyitja a Microsoft Visual Basic for Applications ablak.
  2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modulok Ablak.
    VBA-kód: Mappák létrehozása cellaértékek listája alapján
    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. lépés: Hajtsa végre a kódot

  1. A kód beillesztése után nyomja meg a gombot F5 kulcs a kód futtatásához. A prompt mezőben válassza ki azokat a cellaértékeket, amelyekből mappákat szeretne létrehozni. És akkor kattintson OK.
  2. Majd a következőkben Válassza ki a célmappát ablakban adja meg a létrehozott mappák kimeneti útvonalát. És akkor kattintson OK gomb, lásd a képernyőképet:

Eredmény:

A VBA-kód végrehajtása után lépjen a célkönyvtárba az eredmény megtekintéséhez. Itt megtalálja az újonnan létrehozott mappákat, amelyek mindegyike megfelel az Excel-lista egy elemének. lásd a képernyőképet:

Tipp:
  1. Ha ismétlődő bejegyzések vannak a cellákban, a kód futtatása azt eredményezi, hogy csak egy mappa jön létre ezekhez az ismétlődésekhez.
  2. Ha gyakran használja ezt a kódot, fontolja meg a munkafüzet mentését Excel makró-kompatibilis munkafüzet formátum. Ez a művelet megőrzi a kódot a munkafüzetben, így a jövőben közvetlenül végrehajthatja azt anélkül, hogy újra be kellene írnia vagy újra importálnia kellene a kódot.

Hozzon létre mappákat és almappákat a cellaértékek alapján VBA-kóddal

Időnként előfordulhat, hogy nem csak mappákat kell létrehoznia, hanem a hozzájuk tartozó almappákat is, mindezt az Excel celláiban található adatok alapján. Ennek a feladatnak az eléréséhez itt bemutatok egy VBA kódot.

1. lépés: Készítse elő az adatokat

Először adja meg az adatokat az alábbi képernyőképen látható módon, helyezze el a fő mappaneveket az első oszlopba, és az almappák nevét a második oszlopba.

2. lépés: Nyissa meg a VBA-modul szerkesztőjét, és másolja ki a kódot

  1. Tartsa lenyomva a ALT + F11 kulcsokat az Excelben, és megnyitja a Microsoft Visual Basic for Applications ablak.
  2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modulok Ablak.
    VBA-kód: Mappák és almappák alapú cellaértékek létrehozása
    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. lépés: Hajtsa végre a kódot

  1. A kód beillesztése után nyomja meg a gombot F5 kulcs a kód futtatásához. A prompt mezőben válassza ki azokat a cellaértékeket, amelyekből mappákat szeretne létrehozni. És akkor kattintson OK.
  2. A következő felugró ablakban adja meg a létrehozott mappák kimeneti útvonalát. És akkor kattintson OK gomb, lásd a képernyőképet:

Eredmény:

A VBA-kód végrehajtása után lépjen a célkönyvtárba az eredmény megtekintéséhez. Azt fogja tapasztalni, hogy a mappák és a hozzájuk tartozó almappák a cellaértékek szerint sikeresen létrejöttek az alábbi képernyőképen látható módon:

Tipp:
  1. Ez a kód csak a fő mappák és azok első szintű almappáinak létrehozásához érhető el.
  2. Ha gyakran használja ezt a kódot, fontolja meg a munkafüzet mentését Excel makró-kompatibilis munkafüzet formátum. Ez a művelet megőrzi a kódot a munkafüzetben, így a jövőben közvetlenül végrehajthatja azt anélkül, hogy újra be kellene írnia vagy újra importálnia kellene a kódot.

Kapcsolódó cikkek:

  • Listázza ki az összes mappát és almappát az Excelben
  • Szenvedte már ezt a problémát, amely egy megadott könyvtár összes mappáját és almappáját egy munkalapba sorolja? Az Excel alkalmazásban nincs gyors és praktikus módszer arra, hogy egyszerre megkaphassa az összes mappa nevét egy adott könyvtárban. A feladat kezeléséhez ez a cikk segíthet.
  • Fájlok másolása vagy áthelyezése egyik mappából a másikba egy lista alapján
  • Ha a munkalap oszlopában van egy fájlnévlista, és a fájlok a compulator mappájában találhatók. Most azonban áthelyeznie vagy át kell másolnia ezeket a fájlokat, amelyek a munkalapon fel vannak tüntetve, az eredeti mappájukból egy másikba, az alábbi képernyőkép szerint. Hogyan tudná ezt a feladatot a lehető leggyorsabban elvégezni az Excelben?
  • Egy mappa több fájljának átnevezése
  • Lehet, hogy a legtöbben szenvedünk ettől a problémától, hogy több fájlt kell átneveznünk egy mappában, a fájlnevek egyesével történő átnevezéséhez pedig megőrülünk, ha több száz vagy ezer fájl van ebben a mappában. Vannak-e jó funkciók ennek a feladatnak a kezelésére?
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