工作中我们可能遇到这样的情况,需要根据 EXCEL 中所列的名称建立文件夹,并且老板还会要求,每个文件夹下根据不同的类别再分别建立子文件夹。遇到这样的要求,我们最笨的办法就是右键,新建文件夹,重命名,再建子文件夹,再重命名,如果数据少的话尚且可行,但是如果有几百条甚至上千条记录都需要建文件夹存档的话,这种方法显然会耗费大量时间。
以学生成绩单为例为大家分享如何快速批量建立相应名称的文件夹。
要求如下:
- 为每个学生单独建立文件夹,将文件夹命名为学生姓名。
- 每个文件夹下建立三个文件夹,分别命名为 “高一”,“高二”,“高三”,以存放三年来的历次考试成绩
![b2db53959d01e82482ce7a2360392eec.png](https://i-blog.csdnimg.cn/blog_migrate/48554b19cc5d8e14679f62cb16e4d6c4.jpeg)
学生名单(素材来原于网络,如有雷同,纯属巧合)
下面为大家展示一下效果,可以看一下过程有多迅速。
![970490f92354d1cc4d967a770891c5a1.gif](https://i-blog.csdnimg.cn/blog_migrate/b9ec7f7f966d4d104cdffb229b97dc47.gif)
示例效果图
操作步骤
在功能区点击 “开发工具”(如果没用过需手动调出,方法为:文件>选项>自定义功能区>右侧的开发工具打钩>确定),在开发工具选项卡下,点击左侧第一个 Visual Basic ,进入 VBA 窗口,或者 ALT + F11 可直接进入。点击 “插入” > “模块” 即可进行代码书写。
![099301690936e3a812e26b72af525a56.png](https://i-blog.csdnimg.cn/blog_migrate/48a3218dc22b5eecf733befe09f6f86f.jpeg)
代码
Sub 新建文件夹()
For i = 2 To 37
a = Cells(i, "A")
VBA.MkDir ("C:甥敳獲lenovoDesktop学生档案" & a)
VBA.MkDir ("C:甥敳獲lenovoDesktop学生档案" & a & "高一")
VBA.MkDir ("C:甥敳獲lenovoDesktop学生档案" & a & "高二")
VBA.MkDir ("C:甥敳獲lenovoDesktop学生档案" & a & "高三")
Next
End Sub
将上述代码复制至编辑区,下面逐行解释一下,大家根据具有情况略作修改即可。
代码说明
- Sub 和 End Sub 为程序的开始和结束,不用作任何修改。
- For 和 Next 为循环语句的开始和结束。For i = 2 To 38 中的 2 和 37 是根据 A 列的姓名的范围确定的,示例表中 A 列第 2 行到第 37 行是学生姓名,因此这里 To 前后的数字为 2 和 37, 大家可根据具体情况进行修改。
- a = Cells(i, "A") 是依次取出 A2 到 A37 的值,也是学生姓名,以便建文件夹后命名使用,第一次取出 “孙兰”,第二次取出 “蒋婷文”,依次类推。如果要命名的值不是在 A 列,而是在 B 列,可将引号内的 A 改成 B 即可。
- VBA.MkDir ("C:甥敳獲lenovoDesktop学生档案" & a) 这句是在桌面上 “学生档案” 文件夹下建立要求1的文件夹,即以学生姓名命名的文件夹。此处大家需先在桌面上建立 “学生档案” 的文件夹。
- VBA.MkDir ("C:甥敳獲lenovoDesktop学生档案" & a & "高一") 这名是在刚建的文件夹中建立以 “高一” 命名的子文件夹。
- VBA.MkDir ("C:甥敳獲lenovoDesktop学生档案" & a & "高一") 这名是在刚建的文件夹中建立以 “高二” 命名的子文件夹。
- VBA.MkDir ("C:甥敳獲lenovoDesktop学生档案" & a & "高一") 这名是在刚建的文件夹中建立以 “高三” 命名的子文件夹。
修改完上述参数之后,小伙伴们只需按下键盘上的 F5 键,几秒钟的功夫,即可将所有文件夹建好并自动命名名要求的名称。
注意:路径中的 lenovo 为电脑名,不同人的电脑名不一样,路径不能出错,否则会运行出错!
大家有不懂的欢迎评论或者私信我都可以哦,有其他 EXCEL 问题也欢迎骚扰啦 !