KutoolsforOffice — 一套方案,五大工具。事半功倍。

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

作者Xiaoyang修改日期

假设您的工作表中有一份员工姓名列表,并希望为每位员工单独创建文件夹来存储其相关信息。手动逐个创建不仅繁琐,还极其耗时。不过,其实有更高效的方法可以大幅加速这一流程。在本指南中,我将为您分享几种快速根据指定单元格内容批量生成文件夹的实用方法。

包含用于创建文件夹的员工姓名列表的 Excel 工作表截图

根据单元格值创建文件夹

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


根据单元格值创建文件夹

本节将深入介绍多种方法,并提供清晰详尽的分步指南,助您快速、轻松地根据单元格值列表创建文件夹。

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

利用 MD 命令与记事本将 Excel 列表转换为文件夹,是一种巧妙高效的方法——它将简洁的批处理脚本与 Excel 强大的数据组织能力完美结合,轻松实现批量文件夹创建,省去繁琐的手动操作。以下是完成此任务的分步指南:

步骤 1:使用 MD 命令创建公式

将以下公式复制或输入到首个单元格值(例如 B1)旁边的空白单元格中,然后向下拖动填充柄,即可将公式应用到所有列表项。

="MD "&A1

显示在 Excel 中用于创建文件夹的 MD 命令公式的截图

步骤 2:将公式复制并粘贴到记事本文件中

  1. 按“Ctrl + C”复制包含 MD 命令公式的单元格。
  2. 打开记事本,按“Ctrl + V”将命令粘贴到生成文件中。
    记事本截图,显示从 Excel 复制的用于创建文件夹的 MD 命令

步骤 3:将记事本文件另存为 .bat 文件

在记事本中,单击“文件”选项卡下的“另存为”。在弹出的“另存为”对话框中,选择您希望创建多个文件夹的目标目录,为该文件指定一个名称,并添加 .bat 扩展名,然后单击“保存”按钮。请参见截图:
记事本中“另存为”对话框的截图,用于将文件保存为 .bat 扩展名

步骤 4:双击 .bat 文件以生成多个文件夹

  1. 关闭记事本文件,导航至您之前保存 .bat 文件的文件夹。
  2. 现在,见证奇迹时刻:双击该文件,多个文件夹将同时创建。请参见下方演示:
    演示通过双击 .bat 文件根据 Excel 值创建多个文件夹
 

使用强大工具——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. 然后,单击用于选择目标文件夹的按钮截图按钮,指定要保存这些文件夹的目标文件夹;
  3. 最后,单击“确定”按钮。
    Excel 中 Kutools“从单元格内容创建文件夹”对话框的截图

结果:

Kutools 将为您处理工作表中的列表,并在指定的目标位置为每个条目创建一个文件夹。请前往目标文件夹查看结果。参见截图:
显示由 Kutools for Excel 创建的文件夹输出的截图

提示:
  1. 此实用功能还可根据需要同时创建文件夹及其子文件夹。要实现此操作,请在单元格中输入所需的文件夹和子文件夹名称,并用反斜杠(\)分隔每一级。每个单元格的内容将作为创建所需文件夹及子文件夹结构的指南。
    显示根据 Excel 单元格值创建的带子文件夹的文件夹截图
    随后,应用“基于区域创建文件夹”功能,即可成功生成所有文件夹及其子文件夹。参见截图:
    显示根据 Excel 单元格值创建的带子文件夹的文件夹截图
  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 键运行。在弹出的提示框中,选择您希望用于创建文件夹的单元格值,然后单击“确定”。
    VBA 提示选择用于在 Excel 中创建文件夹的单元格值的截图
  2. 随后,在弹出的“选择目标文件夹”窗口中,指定用于输出所创建文件夹的目标路径,然后单击“确定”按钮。请参见截图:
    用于为 VBA 创建的文件夹选择目标文件夹的对话框截图

结果:

执行 VBA 代码后,请前往目标目录查看结果——您将看到为 Excel 列表中每个项目新建的文件夹。请参见截图:
显示由 VBA 创建的文件夹输出的截图

提示:
  1. 如果单元格中存在重复条目,代码将仅创建一个文件夹。
  2. 如果您经常使用此代码,建议将工作簿保存为“Excel 启用宏的工作簿”格式,以便将代码直接保留在工作簿中,日后无需重新输入或导入即可随时执行。

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

有时,您可能需要根据 Excel 单元格中的数据,不仅创建文件夹,还能同步生成对应的子文件夹。为此,我将为您介绍一段实用的 VBA 代码。

步骤 1:准备数据

首先,请按如下图所示输入数据:将主文件夹名称置于第一列,子文件夹名称置于第二列。
Excel 中包含文件夹和子文件夹列的数据截图

步骤 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 键运行。在弹出的提示框中,选择您希望用于创建文件夹的单元格值,然后单击“确定”。
    VBA 提示选择用于在 Excel 中创建文件夹和子文件夹的单元格区域的截图
  2. 在随后弹出的窗口中,指定用于输出所创建文件夹的目标路径,然后单击“确定”按钮。请参见截图:
    VBA 对话框截图,用于在 Excel 中选择基础文件夹路径

结果:

执行 VBA 代码后,请前往目标目录查看结果。您将看到,系统已根据单元格中的值成功创建了相应的文件夹及其子文件夹,如下图所示:
显示使用 Excel 中的 VBA 代码创建的文件夹和子文件夹的截图

提示:
  1. 此代码仅支持创建主文件夹及其一级子文件夹。
  2. 如果您经常使用此代码,建议将工作簿保存为“Excel 启用宏的工作簿”格式,以便将代码保留在工作簿中,日后无需重新输入或导入即可直接运行。

相关文章:

  • 在 Excel 中列出所有文件夹和子文件夹
  • 您是否曾遇到这样的困扰:需要将指定目录下的所有文件夹及其子文件夹名称一次性列到 Excel 工作表中?遗憾的是,Excel 本身并未提供一种快速便捷的方法来直接获取特定目录下全部文件夹的名称。本文或许正是您解决这一难题的关键。
  • 批量重命名文件夹中的多个文件
  • 我们大多数人可能都遇到过这样的困扰:需要批量重命名文件夹中的多个文件,而当文件数量多达成百上千时,逐个手动重命名简直令人抓狂。有没有高效的方法能帮我们轻松搞定这项任务?