跳至主要内容

根据Excel中的数据列表创建多个文件夹和子文件夹

Author: Xiaoyang Last Modified: 2025-05-07

假设您在工作表的某个区域中有一份员工名单,并希望为每位员工创建单独的文件夹以存储他们的信息。手动逐一创建每个文件夹可能会非常耗时。然而,有一些高效的方法可以加速这一过程。在本指南中,我将分享几种基于指定单元格值快速生成文件夹的方法。

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

根据单元格值创建文件夹

使用VBA代码根据单元格值创建文件夹和子文件夹


根据单元格值创建文件夹

在本节中,我们将详细探讨各种方法,提供全面的分步指导,帮助您快速轻松地根据单元格值列表创建文件夹。

使用MD命令和记事本从列表创建文件夹

利用MD命令和记事本将Excel中的列表转换为文件夹是一个巧妙的技巧,它结合了简单的批处理脚本与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 for Excel从列表创建文件夹

借助强大的Kutools for Excel的“基于区域创建文件夹”功能,您可以轻松快速地从Excel列表中创建文件夹。不仅如此,Kutools还允许您一次性创建具有多级子文件夹的复杂结构。只需几个简单步骤,即可将Excel中的数据转换为有序的文件夹系统,显著提升您的工作效率。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

安装Kutools for Excel后,请点击“Kutools Plus”>“导入/导出”>“基于区域创建文件夹”以打开“基于区域创建文件夹”对话框:

  1. 选择要基于其创建文件夹的单元格值;
  2. 然后,点击 A screenshot of the button used to select a destination folder 按钮以指定要保存文件夹的目标文件夹;
  3. 最后,点击确定按钮。
    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 for Excel
 

使用VBA代码从列表创建文件夹

在Excel中使用VBA代码可以将从列表创建文件夹这项繁琐的任务转变为快速、自动化的流程。本节将向您展示如何应用VBA代码来生成文件夹。

步骤1:打开VBA模块编辑器并复制代码

  1. 在Excel中按住“ALT + F11”键,打开“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键运行此代码。在弹出的对话框中,选择要创建文件夹的单元格值,然后点击确定。
    A screenshot of the VBA prompt to select cell values for folder creation in Excel
  2. 接着,在随后弹出的“选择目标文件夹”窗口中,指定输出创建的文件夹的目标路径。然后,点击确定按钮,请参见截图:
    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. 在Excel中按住“ALT + F11”键,打开“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键运行此代码。在弹出的对话框中,选择要创建文件夹的单元格值,然后点击确定。
    A screenshot of the VBA prompt to select cell ranges for creating folders and subfolders in Excel
  2. 在随后弹出的窗口中,指定输出创建的文件夹的目标路径。然后,点击确定按钮,请参见截图:
    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中完成此任务呢?
  • 重命名文件夹中的多个文件
  • 也许我们大多数人都遇到过这样的问题,我们需要重命名文件夹中的多个文件,如果逐个重命名文件名,当文件夹中有成百上千个文件时,这会让我们抓狂。有没有什么好用的功能可以帮助我们处理这个任务呢?