KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Создание нескольких папок и подпапок из списка данных в Excel

АвторСяоянДата изменения

Предположим, у вас есть список имён сотрудников в диапазоне ячеек листа, и вы хотите создать для каждого из них отдельную папку для хранения информации. Создание каждой папки вручную может занять много времени. Однако существуют эффективные способы ускорить этот процесс. В данном руководстве я расскажу о нескольких подходах к быстрому созданию папок на основе указанных значений ячеек.

Снимок экрана листа Excel, содержащего список имён сотрудников для создания папок

Создание папок на основе значений ячеек

Создание папок и подпапок на основе значений ячеек с помощью кода VBA


Создание папок на основе значений ячеек

В этом разделе мы подробно разберём различные методы, предоставив исчерпывающие пошаговые инструкции для быстрого и простого создания папок на основе списка значений из ячеек.

Создание папок из списка с использованием команды MD и Блокнота

Преобразование списка из Excel в папки с помощью команды MD и Блокнота — это удобный приём, который сочетает простое пакетное скриптинг-программирование с мощными возможностями Excel по структурированию данных. Этот метод идеально подходит для быстрого и автоматизированного создания множества папок без ручного вмешательства. Ниже приведено пошаговое руководство по выполнению этой задачи:

Шаг 1: Используйте команду MD для Создать формулу

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

="MD "&A1

Снимок экрана с формулой команды MD, используемой в Excel для создания папок

Шаг 2: Скопируйте и вставьте формулы в файл Блокнота

  1. Нажмите «Ctrl + C», чтобы скопировать ячейки, содержащие формулу команды MD.
  2. Откройте Блокнот и нажмите «Ctrl + V», чтобы вставить команды в созданный файл.
    Снимок экрана Блокнота с скопированными командами MD из Excel для создания папок

Шаг 3: Сохраните файл Блокнота как файл с расширением .bat

В Блокноте выберите «Файл» → «Сохранить как». В диалоговом окне «Сохранить как» укажите папку, в которой вы хотите создать несколько подпапок, задайте имя файла с расширением .bat и нажмите «Сохранить». См. скриншот:
Снимок экрана диалогового окна «Сохранить как» в Блокноте для сохранения файла с расширением .bat

Шаг 4: Дважды щёлкните по файлу .bat для создания нескольких папок

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

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

Благодаря мощной функции «Создать папку на основе диапазона» из надстройки Kutools для Excel вы легко и быстро создадите папки прямо из списка в Excel. И это ещё не всё: Kutools позволяет за один раз формировать даже сложные многоуровневые структуры с подпапками. Всего несколько простых шагов — и ваши данные в Excel превратятся в чётко организованную систему папок, значительно повышая продуктивность.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрирован с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными максимально простым.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

После установки Kutools для Excel выберите «KUTOOLS PLUS» > «Импорт/экспорт» > «Создать папку на основе диапазона», чтобы открыть диалоговое окно Создать папку на основе диапазона:

  1. Выберите значения ячеек, на основе которых необходимо создать папки;
  2. Затем нажмите кнопку Снимок экрана кнопки, используемой для выбора целевой папки, чтобы указать папку назначения, в которую следует сохранить создаваемые папки;
  3. Наконец, нажмите кнопку «ОК».
    Снимок экрана диалогового окна Kutools «Создать папки из содержимого ячеек» в Excel

Результат:

Kutools обработает список с вашего листа и создаст отдельную папку для каждой записи в указанном месте назначения. Перейдите в папку назначения, чтобы увидеть результат. См. скриншот:
Снимок экрана с результатом создания папок с помощью Kutools for Excel

Советы:
  1. Эта удобная функция позволяет создавать папки вместе с подпапками по мере необходимости. Просто введите названия нужных папок и подпапок в ячейки, разделяя каждый уровень обратной косой чертой (\). Содержимое каждой ячейки станет основой для автоматического создания желаемой структуры папок и подпапок.
    Снимок экрана с папками и подпапками, созданными на основе значений ячеек Excel
    Затем примените функцию «Создать папку на основе диапазона» — и все папки с подпапками будут успешно созданы. См. снимок экрана:
    Снимок экрана с папками и подпапками, созданными на основе значений ячеек Excel
  2. Чтобы воспользоваться этой функцией, пожалуйста, загрузите и установите Kutools для Excel.
 

Создание папок из списка с помощью кода VBA

Использование кода VBA в Excel превращает утомительную задачу создания папок из списка в быстрый и полностью автоматизированный процесс. В этом разделе показано, как применить VBA-код для генерации папок.

Шаг 1: Откройте редактор модулей VBA и скопируйте код

  1. Нажмите и удерживайте клавиши «ALT + F11» в Excel, чтобы открыть окно «Microsoft Visual Basic для приложений».
  2. Выберите «Вставка» > «Модуль» и вставьте приведённый ниже код в окно модуля.
    Код 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 для его выполнения. В появившемся диалоговом окне выберите ячейки со значениями, на основе которых нужно создать папки, и нажмите «ОК».
    Снимок экрана приглашения VBA для выбора значений ячеек с целью создания папок в Excel
  2. Затем в окне «Выберите папку назначения» укажите путь для сохранения создаваемых папок и нажмите «ОК». См. скриншот:
    Снимок экрана диалогового окна для выбора целевой папки для папок, создаваемых с помощью VBA в Excel

Результат:

После выполнения кода VBA перейдите в папку назначения — там вы увидите результат: новые папки, каждая из которых соответствует элементу из вашего списка Excel. См. скриншот:
Снимок экрана с результатом создания папок с помощью VBA

Советы:
  1. Если в ячейках содержатся дублирующиеся записи, код создаст лишь одну папку.
  2. Если вы часто используете этот код, рекомендуем сохранить книгу в формате «Книга Excel с поддержкой макросов» — так код останется внутри файла и будет доступен для немедленного выполнения в будущем без повторного ввода или импорта.

Создание папок и подпапок на основе значений ячеек с помощью кода VBA

Иногда возникает необходимость создавать не только папки, но и соответствующие им подпапки на основе данных из ячеек Excel. Для решения этой задачи ниже приведён код VBA.

Шаг 1: Подготовьте данные

Сначала введите данные, как показано на следующем скриншоте: разместите основное имя папки в первом столбце, а названия подпапок — во втором.
Снимок экрана данных в Excel с колонками для папок и подпапок

Шаг 2: Откройте редактор модулей VBA и скопируйте код

  1. Нажмите и удерживайте клавиши «ALT + F11» в Excel, чтобы открыть окно «Microsoft Visual Basic для приложений».
  2. Выберите «Вставка» > «Модуль» и вставьте приведённый ниже код в окно модуля.
    Код 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 для его выполнения. В открывшемся диалоговом окне выберите ячейки со значениями, на основе которых необходимо создать папки, и нажмите «ОК».
    Снимок экрана приглашения VBA для выбора диапазонов ячеек с целью создания папок и подпапок в Excel
  2. В появившемся окне укажите путь для сохранения созданных папок и нажмите кнопку «ОК». См. скриншот:
    Снимок экрана диалогового окна VBA для выбора базового пути к папке в Excel

Результат:

После выполнения кода VBA перейдите в папку назначения, чтобы увидеть результат. Вы убедитесь, что папки и соответствующие им подпапки, созданные на основе значений ячеек, успешно сформированы, как показано на следующем скриншоте:
Снимок экрана с папками и подпапками, созданными с использованием кода VBA в Excel

Советы:
  1. Этот код позволяет создавать только основные папки и их подпапки первого уровня.
  2. Если вы часто используете этот код, рекомендуем сохранить книгу в формате «Книга Excel с поддержкой макросов» — так код останется внутри файла и будет готов к немедленному выполнению в будущем без повторного ввода или импорта.

Связанные статьи:

  • Вывести все папки и подпапки в Excel
  • Сталкивались ли вы с задачей вывода всех папок и подпапок из указанного каталога на лист? В Excel отсутствует быстрый и удобный способ получить сразу все имена папок из определённого каталога. Эта статья поможет вам решить эту задачу.
  • Переименование нескольких файлов в папке
  • Многие из нас сталкиваются с необходимостью переименовать множество файлов в папке. Переименовывать файлы по одному — это настоящая пытка, если в папке сотни или тысячи файлов. Есть ли эффективные способы решения этой задачи?