Перейти к содержимому

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

Author: Xiaoyang Last Modified: 2025-08-07

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

A screenshot of an Excel worksheet containing a list of staff names for folder creation

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

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


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

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

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

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

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

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

="MD "&A1

A screenshot showing the MD command formula used in Excel to create folders

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

  1. Нажмите «Ctrl + C», чтобы скопировать ячейки с формулой команды MD.
  2. Откройте Блокнот и нажмите «Ctrl + V», чтобы вставить команды в новый файл.
    A screenshot of Notepad displaying copied MD commands from Excel for folder creation

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

Нажмите «Сохранить как» в меню «Файл» в Блокноте, в диалоговом окне «Сохранить как» выберите каталог, где вы хотите создать несколько папок, затем дайте имя этому файлу с расширением .bat. Наконец, нажмите кнопку «Сохранить». Смотрите скриншот:
A screenshot of the Save As dialog in Notepad for saving the file with a .bat extension

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

  1. Закройте файл Блокнота, перейдите в папку, куда вы ранее сохранили .bat файл.
  2. Теперь наблюдайте за магией: дважды щелкните по файлу, и вы увидите, как создаются сразу несколько папок. Смотрите демонстрацию ниже:
    A demonstration of double-clicking a .bat file to create multiple folders from Excel values
 

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

С помощью мощной функции Kutools для Excel «Создать папки на основе диапазона» вы теперь можете легко и быстро создавать папки из списка Excel. Но возможности не ограничиваются только базовыми папками; Kutools также позволяет создавать сложные структуры с многоуровневыми подпапками за один раз. Простые шаги могут превратить данные из Excel в организованную систему папок, значительно повышая вашу продуктивность.

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

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

  1. Выберите значения ячеек, на основе которых вы хотите создать папки;
  2. Затем нажмите A screenshot of the button used to select a destination folder кнопку, чтобы указать целевую папку, куда вы хотите сохранить папки;
  3. Наконец, нажмите кнопку OK.
    A screenshot of the Kutools Create Folders from Cell Contents dialog box in Excel

Результат:

Kutools обработает список из вашего листа и создаст папку для каждой записи в указанном месте назначения. Перейдите в целевую папку, чтобы увидеть результат. Смотрите скриншот:
A screenshot showing the output of folders created by Kutools for Excel

Советы:
  1. Эта полезная функция также может помочь создавать папки вместе с их подпапками по мере необходимости. Для этого вы должны ввести желаемые имена папок и подпапок в ячейки, используя обратную косую черту (\) для разделения уровней. Содержимое каждой ячейки будет служить руководством для настройки желаемой структуры папок и подпапок.
    A screenshot of an Excel sheet with folder and subfolder names entered for creation
    Затем примените функцию «Создать папки на основе диапазона», и все папки вместе с их подпапками будут успешно созданы. Смотрите скриншот:
    A screenshot showing folders with subfolders created based on Excel cell values
  2. Чтобы использовать эту функцию, пожалуйста, скачайте и установите Kutools для Excel.
 

Создание папок из списка с использованием кода VBA

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

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

  1. Удерживайте клавиши «ALT + F11» в Excel, чтобы открыть окно «Microsoft Visual Basic for Applications».
  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, чтобы запустить его. В появившемся окне выберите значения ячеек, на основе которых вы хотите создать папки. Затем нажмите OK.
    A screenshot of the VBA prompt to select cell values for folder creation in Excel
  2. Затем в открывшемся окне «Выберите целевую папку» укажите путь назначения для вывода созданных папок. Затем нажмите кнопку OK, см. скриншот:
    A screenshot of the dialog box to select a destination folder for VBA-created folders in Excel

Результат:

После выполнения кода VBA перейдите в целевой каталог, чтобы увидеть результат. Там вы найдете новые папки, каждая из которых соответствует элементу из вашего списка Excel. Смотрите скриншот:
A screenshot showing the output of folders created by VBA

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

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

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

Шаг 1: Подготовка данных

Сначала вы должны ввести данные, как показано на следующем скриншоте, поместив названия основных папок в первый столбец, а названия подпапок во второй столбец.
A screenshot of data in Excel with columns for folders and subfolders

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

  1. Удерживайте клавиши «ALT + F11» в Excel, чтобы открыть окно «Microsoft Visual Basic for Applications».
  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, чтобы запустить его. В появившемся окне выберите значения ячеек, на основе которых вы хотите создать папки. Затем нажмите OK.
    A screenshot of the VBA prompt to select cell ranges for creating folders and subfolders in Excel
  2. В следующем всплывающем окне укажите путь назначения для вывода созданных папок. Затем нажмите кнопку OK, см. скриншот:
    A screenshot of the VBA dialog box for selecting a base folder path in Excel

Результат:

После выполнения кода VBA перейдите в целевой каталог, чтобы увидеть результат. Вы увидите, что папки и их соответствующие подпапки, определенные значениями ячеек, были успешно созданы, как показано на следующем скриншоте:
A screenshot showing folders and subfolders created using VBA code in Excel

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

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

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