根据Excel中的数据列表创建多个文件夹和子文件夹
假设您在工作表的某个区域中有一份员工名单,并希望为每位员工创建单独的文件夹以存储他们的信息。手动逐一创建每个文件夹可能会非常耗时。然而,有一些高效的方法可以加速这一过程。在本指南中,我将分享几种基于指定单元格值快速生成文件夹的方法。
使用MD命令和记事本从列表创建文件夹
利用MD命令和记事本将Excel中的列表转换为文件夹是一个巧妙的技巧,它结合了简单的批处理脚本与Excel出色的组织能力。这种方法非常适合快速创建大量文件夹,而无需手动操作。以下是完成此任务的分步指南:
步骤1:使用MD命令创建公式
将以下公式复制或输入到第一个单元格值(例如B1)旁边的空白单元格中,然后向下拖动填充柄以将公式应用到所有列表项。
="MD "&A1
步骤2:将公式复制并粘贴到记事本文件中
- 按“Ctrl + C”复制包含MD命令公式的单元格。
- 打开记事本并按“Ctrl + V”将命令粘贴到新文件中。
步骤3:将记事本文件另存为.bat文件
点击记事本中的“文件”选项卡下的“另存为”,在“另存为”对话框中,选择要创建多个文件夹的目录,然后为此文件命名并加上.bat扩展名。最后,点击“保存”按钮。请参见截图:
步骤4:双击.bat文件生成多个文件夹
- 关闭记事本文件,导航到之前保存.bat文件的文件夹。
- 现在,见证奇迹的时刻:双击该文件,您将看到多个文件夹一次性被创建出来。请参见下面的演示:
使用强大工具——Kutools for Excel从列表创建文件夹
借助强大的Kutools for Excel的“基于区域创建文件夹”功能,您可以轻松快速地从Excel列表中创建文件夹。不仅如此,Kutools还允许您一次性创建具有多级子文件夹的复杂结构。只需几个简单步骤,即可将Excel中的数据转换为有序的文件夹系统,显著提升您的工作效率。
安装Kutools for Excel后,请点击“Kutools Plus”>“导入/导出”>“基于区域创建文件夹”以打开“基于区域创建文件夹”对话框:
- 选择要基于其创建文件夹的单元格值;
- 然后,点击
按钮以指定要保存文件夹的目标文件夹;
- 最后,点击确定按钮。
结果:
Kutools将处理您工作表中的列表,并在指定目标位置为每个条目创建一个文件夹。导航到目标文件夹查看结果。请参见截图:
- 这个实用的功能还可以帮助您根据需要创建文件夹及其子文件夹。要做到这一点,您应该在单元格中输入所需的文件夹和子文件夹名称,使用反斜杠符号(\)分隔每一级。每个单元格的内容将作为设置所需文件夹和子文件夹结构的指南。
然后,应用“基于区域创建文件夹”功能,所有文件夹及其子文件夹都将成功创建。请参见截图: - 要应用此功能,请下载并安装Kutools for Excel。
使用VBA代码从列表创建文件夹
在Excel中使用VBA代码可以将从列表创建文件夹这项繁琐的任务转变为快速、自动化的流程。本节将向您展示如何应用VBA代码来生成文件夹。
步骤1:打开VBA模块编辑器并复制代码
- 在Excel中按住“ALT + F11”键,打开“Microsoft Visual Basic for Applications”窗口。
- 点击“插入”>“模块”,并将以下代码粘贴到模块窗口中。
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:执行代码
- 粘贴此代码后,请按F5键运行此代码。在弹出的对话框中,选择要创建文件夹的单元格值,然后点击确定。
- 接着,在随后弹出的“选择目标文件夹”窗口中,指定输出创建的文件夹的目标路径。然后,点击确定按钮,请参见截图:
结果:
执行VBA代码后,前往目标目录查看结果。在那里,您会发现新创建的文件夹,每个文件夹对应于Excel列表中的一个条目。请参见截图:
- 如果单元格中有重复条目,代码只会创建一个文件夹。
- 如果您发现自己经常使用此代码,考虑将工作簿保存为“启用宏的Excel工作簿”格式。此操作会在工作簿中保留代码,使您将来可以直接执行它,而无需重新输入或重新导入代码。
使用VBA代码根据单元格值创建文件夹和子文件夹
有时,您可能需要生成的不仅仅是文件夹,还有它们对应的子文件夹,所有这些都基于Excel单元格中的数据。为了完成此任务,这里我将介绍一段VBA代码。
步骤1:准备数据
首先,您应按照如下截图所示输入数据,将主文件夹名称放在第一列,将子文件夹名称放在第二列。
步骤2:打开VBA模块编辑器并复制代码
- 在Excel中按住“ALT + F11”键,打开“Microsoft Visual Basic for Applications”窗口。
- 点击“插入”>“模块”,并将以下代码粘贴到模块窗口中。
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:执行代码
- 粘贴此代码后,请按F5键运行此代码。在弹出的对话框中,选择要创建文件夹的单元格值,然后点击确定。
- 在随后弹出的窗口中,指定输出创建的文件夹的目标路径。然后,点击确定按钮,请参见截图:
结果:
执行VBA代码后,前往目标目录查看结果。您会发现文件夹及其各自的子文件夹已根据单元格值成功创建,如下图所示:
- 此代码仅适用于创建主文件夹及其一级子文件夹。
- 如果您发现自己经常使用此代码,考虑将工作簿保存为“启用宏的Excel工作簿”格式。此操作会在工作簿中保留代码,使您将来可以直接执行它,而无需重新输入或重新导入代码。
相关文章:
- 将文件夹及子文件夹中的所有文件名列出到工作表中
- 如果您想在工作表中生成目录中的文件名列表,可以通过以下方式快速获取工作表中的文件列表。
- 在Excel中列出所有文件夹和子文件夹
- 您是否遇到过这样的问题,即将指定目录中的所有文件夹和子文件夹列出到工作表中?在Excel中,没有一种快速简便的方法可以一次性获取特定目录中所有文件夹的名称。为了解决这个问题,本文可能会对您有所帮助。
- 根据列表从一个文件夹复制或移动文件到另一个文件夹
- 如果您在工作表的一列中有文件名列表,并且这些文件位于计算机中的某个文件夹中。但是,现在您需要将这些文件从原始文件夹移动或复制到另一个文件夹中,如下面的截图所示。如何才能尽快在Excel中完成此任务呢?
- 重命名文件夹中的多个文件
- 也许我们大多数人都遇到过这样的问题,我们需要重命名文件夹中的多个文件,如果逐个重命名文件名,当文件夹中有成百上千个文件时,这会让我们抓狂。有没有什么好用的功能可以帮助我们处理这个任务呢?
最佳办公效率工具
🤖 | Kutools AI 助手:基于智能执行、生成代码、创建自定义公式、分析数据并生成图表、调用 Kutools 函数等功能,彻底改变数据分析方式… |
热门功能:查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ... | |
高级 LOOKUP:多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高级下拉列表:快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 .... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ... | |
精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)... | |
排名前 15 的工具集: 12 种文本 工具(添加文本、删除特定字符等) | 50 多 种图表 类型(甘特图等) | 40 多种实用 公式(基于生日计算年龄等) | 19 种插入 工具(插入二维码、根据路径插入图片等) | 12 种转换 工具(小写金额转大写、汇率转换等) | 7 种合并与分割 工具(高级合并行、分割单元格等) | 还有更多... |
使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 将标签式界面引入 Office,让您的工作更加轻松
- 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读。
- 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
- 将您的生产力提升 50%,每天为您减少数百次鼠标点击!