Перейти до основного матеріалу

Створіть кілька папок і вкладених папок зі списку даних у Excel

Припустімо, що у вас є список імен співробітників у діапазоні аркушів, і ви прагнете створити окремі папки для кожного з них, щоб зберігати їхню інформацію. Створення кожної папки вручну може зайняти багато часу. Однак існують ефективні способи прискорити цей процес. У цьому посібнику я поділюся кількома підходами до швидкого створення папок на основі вказаних значень клітинок.

Створення папок на основі значень клітинок

Створюйте папки та вкладені папки на основі значень клітинок за допомогою коду VBA


Створення папок на основі значень клітинок

У цьому розділі ми детально розглянемо різні методи, пропонуючи вичерпні покрокові інструкції для швидкого й легкого створення папок на основі списку значень клітинок.

Створіть папки зі списку за допомогою команди MD і Блокнота

Перетворення списку з Excel на папки за допомогою команди MD і Блокнота — це розумний трюк, який поєднує легке пакетне виконання сценаріїв із умінням Excel упорядковувати речі. Цей спосіб чудово підходить для швидкого створення великої кількості папок без необхідності робити все вручну. Ось покрокова інструкція для виконання цього завдання:

Крок 1. Використовуйте команду MD для створення формул

Скопіюйте або введіть наступну формулу в порожню клітинку поруч із першим значенням клітинки (наприклад, B1), а потім перетягніть маркер заповнення вниз, щоб застосувати формулу до всіх елементів списку.

="MD "&A1

Крок 2: Скопіюйте та вставте формули у файл Блокнота

  1. прес Ctrl + C щоб скопіювати комірки з формулою команди MD.
  2. відкритий Блокнот і натисніть Ctrl + V щоб вставити команди в новий файл.

Крок 3. Збережіть файл Блокнота як файл .bat

Натисніть Зберегти як від філе у Блокноті, у Зберегти як у діалоговому вікні виберіть каталог, у якому ви хочете створити кілька папок, а потім дайте назву цьому файлу за допомогою a . Bat розширення. Нарешті натисніть зберегти кнопку. Дивіться знімок екрана:

Крок 4. Двічі клацніть файл .bat, щоб створити кілька папок

  1. Закрийте файл Блокнота, перейдіть до папки, у якій ви раніше зберегли файл .bat.
  2. Тепер подивіться чарівництво: двічі клацніть на файлі, і ви побачите, як одночасно створюється кілька папок. Дивіться демонстрацію нижче:
 

Створіть папки зі списку за допомогою потужного інструменту – Kutools для Excel

З могутніми Kutools для ExcelАвтора Створюйте папки із вмісту комірок Тепер ви можете легко та швидко створювати папки зі списку Excel. Але це не лише основні папки; Kutools також дозволяє створювати складні структури з багаторівневими вкладеними папками за один раз. Лише кілька простих кроків можуть перетворити дані з Excel на організовану систему папок, що значно підвищить вашу продуктивність.

примітки: Якщо ви хочете використовувати це Створюйте папки із вмісту комірок функція, будь ласка завантажте та встановіть Kutools для Excel перший.

після установки Kutools для Excel, Будь ласка, натисніть Kutools Plus > Імпорт-експорт > Створюйте папки із вмісту комірок відкрити Створюйте папки із вмісту комірок діалогове вікно:

  1. Виберіть значення клітинок, на основі яких ви хочете створити папки;
  2. Потім натисніть кнопку кнопку, щоб вказати папку призначення, у якій потрібно зберегти папки;
  3. Нарешті, клацніть OK кнопки.

Результат:

Kutools обробить список із вашого аркуша та створить папку для кожного запису у вказаному місці призначення. Перейдіть до папки призначення, щоб побачити результат. Перегляньте скріншот:

Порада:
  1. Ця корисна функція також може допомогти створювати папки разом із підпапками як вам потрібно. Для цього вам слід ввести потрібні назви папок і вкладених папок у комірки, використовуючи знак зворотної косої риски (\), щоб розділити кожен рівень. Вміст кожної комірки слугуватиме керівництвом для налаштування потрібної структури папок і вкладених папок.

    Потім застосуйте Створюйте папки із вмісту комірок усі папки разом із підпапками буде успішно створено. Перегляньте скріншот:
  2. Щоб застосувати цю функцію, будь ласка завантажте та встановіть Kutools для Excel перший.
 

Створіть папки зі списку за допомогою коду VBA

Використання коду VBA в Excel може перетворити нудне завдання створення папок зі списку на швидкий автоматизований процес. У цьому розділі буде показано, як застосувати код VBA для створення папок.

Крок 1. Відкрийте редактор модуля VBA та скопіюйте код

  1. Утримуйте клавішу ALT + F11 клавіші в Excel, і він відкриває Microsoft Visual Basic для додатків вікна.
  2. Натисніть Insert > Модуліта вставте наступний код у Модулі Вікно
    Код VBA: створюйте папки на основі списку значень комірок
    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: Виконайте код

  1. Після вставки цього коду, натисніть F5 ключ для запуску цього коду. У вікні підказки виберіть значення клітинок, з яких потрібно створити папки. А потім натисніть OK.
  2. Потім, у наступному Виберіть папку призначення у вікні вкажіть шлях призначення для виведення створених папок. А потім натисніть OK , див. знімок екрана:

Результат:

Після виконання коду VBA перейдіть до цільового каталогу, щоб переглянути результат. Там ви знайдете щойно створені папки, кожна з яких відповідає елементу з вашого списку Excel. дивіться знімок екрана:

Порада:
  1. Якщо в клітинках є повторювані записи, виконання коду призведе до створення лише однієї папки для цих дублікатів.
  2. Якщо ви часто використовуєте цей код, подумайте про те, щоб зберегти свою робочу книгу в Робоча книга Excel із підтримкою макросів формат. Ця дія зберігає код у книзі, дозволяючи вам безпосередньо виконувати його в майбутньому без необхідності повторного введення або повторного імпорту коду.

Створюйте папки та вкладені папки на основі значень клітинок за допомогою коду VBA

Час від часу ви можете опинитися в ситуації, коли вам потрібно створити не лише папки, але й відповідні вкладені папки на основі даних у клітинках Excel. Щоб виконати це завдання, я запроваджу тут код VBA.

Крок 1: Підготуйте дані

По-перше, ви повинні ввести дані, як показано на знімку екрана, розмістіть назви основних папок у першому стовпці та назви вкладених папок у другому стовпці.

Крок 2. Відкрийте редактор модуля VBA та скопіюйте код

  1. Утримуйте клавішу ALT + F11 клавіші в Excel, і він відкриває Microsoft Visual Basic для додатків вікна.
  2. Натисніть Insert > Модуліта вставте наступний код у Модулі Вікно
    Код VBA: створюйте папки та вкладені папки на основі значень клітинок
    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: Виконайте код

  1. Після вставки цього коду, натисніть F5 ключ для запуску цього коду. У вікні підказки виберіть значення клітинок, з яких потрібно створити папки. А потім натисніть OK.
  2. У наступному спливаючому вікні вкажіть шлях призначення для виведення створених папок. А потім натисніть OK , див. знімок екрана:

Результат:

Після виконання коду VBA перейдіть до цільового каталогу, щоб переглянути результат. Ви побачите, що папки та їхні відповідні вкладені папки, як це продиктовано значеннями клітинок, було успішно створено, як показано на наступному знімку екрана:

Порада:
  1. Цей код доступний лише для створення лише основних папок та їхніх вкладених папок першого рівня.
  2. Якщо ви часто використовуєте цей код, подумайте про те, щоб зберегти свою робочу книгу в Робоча книга Excel із підтримкою макросів формат. Ця дія зберігає код у книзі, дозволяючи вам безпосередньо виконувати його в майбутньому без необхідності повторного введення або повторного імпорту коду.

Статті по темі:

  • Перелічіть усі папки та підпапки в Excel
  • Ви коли-небудь стикалися з цією проблемою, яка перераховує всі папки та підпапки із зазначеного каталогу на робочий аркуш? В Excel немає швидкого та зручного способу отримати назву всіх папок у певному каталозі одночасно. Щоб вирішити завдання, ця стаття може вам допомогти.
  • Копіюйте або переміщуйте файли з однієї папки в іншу на основі списку
  • Якщо у вас є список імен файлів у стовпці на аркуші, а файли знаходяться в папці на вашому комп'ютері. Але тепер вам потрібно перемістити або скопіювати ці файли, імена яких вказані на аркуші, з їх вихідної папки в іншу, як показано на наступному знімку екрана. Як ви могли виконати це завдання якомога швидше в Excel?
  • Перейменування кількох файлів папки
  • Можливо, більшість із нас страждає від цієї проблеми, що нам потрібно перейменовувати декілька файлів у папці; перейменування імен файлів одне за одним зводить нас з розуму, якщо в цій папці є сотні чи тисячі файлів. Чи є якісь хороші функції для вирішення цього завдання?
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