******以下代码修改自“文心一言3.5模型+B站UP教学代码”,若有侵权行为!请私信博主!后续会删除此文!*****************************************仅作分享,如有不足,评论区敬请指出***************
1.上班的时候遇到了要按照某一模板批量新建工作簿(不是工作表,请识别清楚)的情况,为了节省时间精力,搜了一些教程,另一个DOS命令处理没成功,后面研究一下,会python或者其他编程语言的小伙伴也可以直接上其他方法。
2.此方法针对只使用Excel一款软件的情况,不用下载其他编译器与外部插件,较为便捷。下列分享代码运行环境:Excel自带的“开发工具”中的“Visual Basic”。
(1)点击“开发工具”(在导航栏可以找到),找到“Visual Basic”并点击(详细步骤参照 >>(2)>>⑤起始)。
(2)如若“开发工具”这一选项被隐藏,需要勾选才会在导航栏出现此功能。步骤如下:
①随意打开一个.xlsx文件,初始导航栏如下,点击“文件”。
②来到首页界面,最下方,点击“选项”
③选项界面找到“自定义功能区”并点击,在最右侧下拉列表中勾选开发工具,最后点击确定即可。
④回到打开的.xlsx文件,点击“开发工具”选项看到第一个“Visual Basic”图标,点击进入。
⑤鼠标放在空白处,右键,插入---->模块。
⑥将代码粘贴在下方空白区。
⑦点击“F5”或“运行键”运行代码即可。
3.VBA代码
Sub CreateWorkbooksFromTemplate()'声明
Dim templateWb As Workbook
Dim newWb As Workbook
Dim fileListWb As Workbook
Dim fileListWs As Worksheet
Dim fileNameCell As Range
Dim filePath As String
Dim fileExt As String
For Each cell In Range("B2:B35") '假设需要新建的那批.xlsx文件的名称,被保存在所打开的Excel中的B2:B35单元格中(请视情况自行修改)
Filename = cell.Text
Dim templatePath As String
templatePath = "C:\Users\trainee.pxb\Desktop\新建电子履历\模板.xlsx" ' 把示例“”里面的路径修改为你的模板文件路径
Set templateWb = Workbooks.Open(templatePath) ' 打开模板工作簿
Set newWb = Workbooks.Add ' 创建新的工作簿
ActiveWorkbook.SaveAs "C:\Users\trainee.pxb\Desktop\新建电子履历\" & Filename & ".xlsx" ' 把示例“”里面的路径修改为你的保存新建工作簿的路径
templateWb.Sheets(1).Copy Before:=newWb.Sheets(1) ' 复制模板工作簿的内容到新工作簿
' 删除默认创建的第一个空白工作表(否则新生的工作簿会多一个额外的sheet)
Application.DisplayAlerts = False ' 关闭自动弹出的提示信息
newWb.Sheets(2).Delete
Application.DisplayAlerts = True ' 恢复自动弹出的提示信息
Workbooks(Filename & ".xlsx").Close '关闭新建工作簿
Next '循环
End Sub
以上代码存在不足(例如声明变量赘余,新建的Excel需要手动点击是否保存等),会在后续进行修改优化。