Przejdź do głównej zawartości

Utwórz wiele folderów i podfolderów z listy danych w programie Excel

Załóżmy, że masz listę nazwisk pracowników w zakresie arkusza i chcesz utworzyć dla każdego osobne foldery do przechowywania informacji. Ręczne tworzenie każdego folderu może być czasochłonne. Istnieją jednak skuteczne metody przyspieszające ten proces. W tym przewodniku przedstawię kilka sposobów szybkiego generowania folderów na podstawie określonych wartości komórek.

Twórz foldery na podstawie wartości komórek

Twórz foldery i podfoldery na podstawie wartości komórek za pomocą kodu VBA


Twórz foldery na podstawie wartości komórek

W tej sekcji szczegółowo omówimy różne metody, oferując kompleksowe instrukcje krok po kroku szybkiego i łatwego tworzenia folderów na podstawie listy wartości komórek.

Twórz foldery z listy za pomocą polecenia MD i Notatnika

Przekształcanie listy z programu Excel w foldery za pomocą polecenia MD i Notatnika to sprytna sztuczka, która łączy łatwe tworzenie skryptów wsadowych ze zdolnością programu Excel do utrzymywania porządku. Ta metoda doskonale nadaje się do szybkiego tworzenia dużej liczby folderów, bez konieczności robienia tego wszystkiego ręcznie. Oto przewodnik krok po kroku, jak wykonać to zadanie:

Krok 1: Użyj polecenia MD, aby utworzyć formuły

Skopiuj lub wprowadź następującą formułę w pustej komórce obok pierwszej wartości komórki (na przykład B1), a następnie przeciągnij uchwyt wypełniania w dół, aby zastosować formułę do wszystkich elementów listy.

="MD "&A1

Krok 2: Skopiuj i wklej formuły do ​​pliku Notatnika

  1. Naciśnij przycisk Ctrl + C aby skopiować komórki za pomocą formuły polecenia MD.
  2. Otwarte Notepad i naciśnij Ctrl + V aby wkleić polecenia do nowego pliku.

Krok 3: Zapisz plik Notatnika jako plik .bat

Kliknij Zapisz jako z filet w Notatniku, w zakładce Zapisz jako oknie dialogowym wybierz katalog, w którym chcesz utworzyć wiele folderów, a następnie nadaj temu plikowi nazwę z rozszerzeniem . Beat rozszerzenie. Na koniec kliknij Zapisz przycisk. Zobacz zrzut ekranu:

Krok 4: Kliknij dwukrotnie plik .bat, aby wygenerować wiele folderów

  1. Zamknij plik Notatnika i przejdź do folderu, w którym wcześniej zapisałeś plik .bat.
  2. Teraz zobacz magię: kliknij dwukrotnie plik, a zobaczysz, jak wiele folderów jest tworzonych jednocześnie. Zobacz demo poniżej:
 

Twórz foldery z listy za pomocą potężnego narzędzia – Kutools dla Excela

Z potężnym Kutools dla programu Excel'S Utwórz foldery z zawartości komórki Dzięki tej funkcji możesz teraz łatwo i szybko tworzyć foldery z listy programu Excel. Ale to nie kończy się tylko na podstawowych folderach; Kutools umożliwia także tworzenie złożonych struktur z wielopoziomowymi podfolderami za jednym razem. Zaledwie kilka prostych kroków może przekształcić dane z Excela w zorganizowany system folderów, znacznie zwiększając Twoją produktywność.

Note: Jeśli chcesz tego użyć Utwórz foldery z zawartości komórki cecha, proszę pobierz i zainstaluj Kutools dla Excela pierwszy.

Po zainstalowaniu Kutools dla programu Excel, Proszę kliknąć Kutools Plus > Import / Export > Utwórz foldery z zawartości komórki otworzyć Utwórz foldery z zawartości komórki Okno dialogowe:

  1. Wybierz wartości komórek, na podstawie których chcesz utworzyć foldery;
  2. Następnie kliknij przycisk przycisk umożliwiający określenie folderu docelowego, w którym chcesz zapisać foldery;
  3. Na koniec kliknij OK przycisk.

Wynik:

Kutools przetworzy listę z Twojego arkusza i utworzy folder dla każdego wpisu w określonym miejscu docelowym. Przejdź do folderu docelowego, aby zobaczyć wynik. Zobacz zrzut ekranu:

Porady:
  1. Ta przydatna funkcja również może pomóc tworzyć foldery wraz z ich podfolderami tak jak potrzebujesz. Aby to zrobić, należy wprowadzić do komórek nazwy żądanych folderów i podfolderów, oddzielając poszczególne poziomy znakiem ukośnika odwrotnego (\). Zawartość każdej komórki będzie służyć jako wskazówka przy konfigurowaniu pożądanej struktury folderów i podfolderów.

    Następnie zastosuj Utwórz foldery z zawartości komórki funkcja, wszystkie foldery wraz z ich podfolderami zostaną pomyślnie utworzone. Zobacz zrzut ekranu:
  2. Aby zastosować tę funkcję, proszę pobierz i zainstaluj Kutools dla Excela pierwszy.
 

Utwórz foldery z listy za pomocą kodu VBA

Korzystanie z kodu VBA w programie Excel może przekształcić żmudne zadanie tworzenia folderów z listy w szybki, zautomatyzowany proces. W tej sekcji dowiesz się, jak zastosować kod VBA do generowania folderów.

Krok 1: Otwórz edytor modułów VBA i skopiuj kod

  1. Przytrzymaj przycisk ALT + F11 klucze w programie Excel i otwiera plik Microsoft Visual Basic for Applications okno.
  2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
    Kod VBA: Twórz foldery na podstawie listy wartości komórek
    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
    

Krok 2: Wykonaj kod

  1. Po wklejeniu tego kodu naciśnij F5 klucz do uruchomienia tego kodu. W polu zachęty wybierz wartości komórek, z których chcesz utworzyć foldery. A następnie kliknij OK.
  2. Następnie w dalszej części Wybierz folder docelowy oknie określ ścieżkę docelową, na którą mają być wysyłane utworzone foldery. A następnie kliknij OK przycisk, zobacz zrzut ekranu:

Wynik:

Po wykonaniu kodu VBA przejdź do katalogu docelowego, aby zobaczyć wynik. Znajdziesz tam nowo utworzone foldery, każdy odpowiadający pozycji z listy Excela. zobacz zrzut ekranu:

Porady:
  1. Jeśli w komórkach znajdują się zduplikowane wpisy, uruchomienie kodu spowoduje utworzenie tylko jednego folderu dla tych duplikatów.
  2. Jeśli często używasz tego kodu, rozważ zapisanie skoroszytu w Skoroszyt programu Excel z obsługą makr format. Ta akcja zachowuje kod w skoroszycie, umożliwiając bezpośrednie wykonanie go w przyszłości bez konieczności ponownego wprowadzania lub ponownego importowania kodu.

Twórz foldery i podfoldery na podstawie wartości komórek za pomocą kodu VBA

Czasami możesz znaleźć się w sytuacji, w której musisz wygenerować nie tylko foldery, ale także odpowiadające im podfoldery, a wszystko to na podstawie danych zawartych w komórkach Excela. Aby zrealizować to zadanie, przedstawię tutaj kod VBA.

Krok 1: Przygotuj dane

Najpierw należy wprowadzić dane jak na zrzucie ekranu, w pierwszej kolumnie umieścić nazwy głównych folderów, w drugiej nazwy podfolderów.

Krok 2: Otwórz edytor modułów VBA i skopiuj kod

  1. Przytrzymaj przycisk ALT + F11 klucze w programie Excel i otwiera plik Microsoft Visual Basic for Applications okno.
  2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
    Kod VBA: Twórz foldery i podfoldery na podstawie wartości komórek
    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
    

Krok 3: Wykonaj kod

  1. Po wklejeniu tego kodu naciśnij F5 klucz do uruchomienia tego kodu. W polu zachęty wybierz wartości komórek, z których chcesz utworzyć foldery. A następnie kliknij OK.
  2. W następnym wyskakującym oknie określ ścieżkę docelową, na którą mają być wysyłane utworzone foldery. A następnie kliknij OK przycisk, zobacz zrzut ekranu:

Wynik:

Po wykonaniu kodu VBA przejdź do katalogu docelowego, aby zobaczyć wynik. Przekonasz się, że foldery i ich podfoldery, zgodnie z wartościami komórek, zostały pomyślnie utworzone, jak pokazano na poniższym zrzucie ekranu:

Porady:
  1. Ten kod jest dostępny tylko do tworzenia tylko folderów głównych i ich podfolderów pierwszego poziomu.
  2. Jeśli często używasz tego kodu, rozważ zapisanie skoroszytu w Skoroszyt programu Excel z obsługą makr format. Ta akcja zachowuje kod w skoroszycie, umożliwiając bezpośrednie wykonanie go w przyszłości bez konieczności ponownego wprowadzania lub ponownego importowania kodu.

Podobne artykuły:

  • Wyświetl wszystkie foldery i podfoldery w programie Excel
  • Czy kiedykolwiek miałeś problem z wyświetlaniem wszystkich folderów i podfolderów z określonego katalogu w arkuszu? W programie Excel nie ma szybkiego i wygodnego sposobu na jednoczesne pobranie nazwy wszystkich folderów w określonym katalogu. Aby poradzić sobie z zadaniem, ten artykuł może ci pomóc.
  • Kopiuj lub przenoś pliki z jednego folderu do drugiego na podstawie listy
  • Jeśli masz listę nazw plików w kolumnie w arkuszu, a pliki znajdują się w folderze w twoim komputerze. Ale teraz musisz przenieść lub skopiować te pliki, których nazwy są wymienione w arkuszu z oryginalnego folderu do innego, jak pokazano na zrzucie ekranu. Jak możesz wykonać to zadanie tak szybko, jak to możliwe w programie Excel?
  • Zmień nazwę wielu plików w folderze
  • Być może większość z nas cierpi z powodu tego problemu, że musimy zmienić nazwy wielu plików w folderze, a zmiana nazw plików jedna po drugiej doprowadzi nas do szaleństwa, jeśli w tym folderze są setki lub tysiące plików. Czy są dla nas jakieś dobre funkcje, aby poradzić sobie z tym zadaniem?
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