EXCEL2007及以上版本
新建一个EXCEL表格,将表格另存为xlsm格式。VBA代码的保存必须使用xlsm格式,否则代码保存无效。
打开刚才保存的xlsm格式文件,看工具栏是否有开发工具选项,如果没有请在EXCEL选项中勾选。
构建数据区域。将需要使用的名称从A1开始写在同一列。此处以第1天到第31天为例。也可以构建更多的名称。名称越多越能体现出VBA在批量处理数据方面的优势。
点击开发工具下的Visual Basic选项或者使用快捷方式ALT与F11组合按键,进入VBA代码界面。
输入如下代码:Sub newfolder() Dim i&, p$ On Error Resume Next For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row MkDir ThisWorkbook.Path & '\' & Cells(i, 1) NextEnd Sub代码的意思是定义了两个变量:长整型变量&和字符型变量$。 On Error Resume Next代码的意思是忽略代码运行过程中的错误,避免因为文件名中包含特殊字符或者同名文件夹存在导致代码运行出错中断。For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row MkDir ThisWorkbook.Path & '\' & Cells(i, 1)代码意思是循环读取当前表格A列数据,并在与当前工作簿相同的路径下利用MrDir语句创建文件夹。
保存代码,回到主界面,在开发工具下添加窗体控件,指定宏为newfolder。
点击名为“生成文件夹”的宏,返回工作簿所在文件夹,可以看到文件夹瞬间就已经批量生成。
这段代码的关键在于MkDir,用于创建指定文件夹名称。