领导发给我1个工作簿文件,希望我把里面每个工作里面都单独保存出来 如果工作表比较少,可以一个个手动的复制粘贴,花了将近半个小时,同事用这个技巧,直接1分钟就拆分完成了。 操作的步骤如下: ❶点击开发工具,选择visual basic ❷然后新建一个模块,输入代码: 代码如下所示: Sub 拆分工作簿() Dim wk As Workbook, i$, j% Application.DisplayAlerts = False For Each sht In Workbooks(1).Sheets Set wk = Workbooks.Add j = j + 1 Workbooks(1).Sheets(j).Copy Workbooks(2).Sheets(1) i = ThisWorkbook.Path & "\" & sht.Name & ".xlsx" wk.SaveAs i wk.Close Next Application.DisplayAlerts = True MsgBox "拆分完成!" End Sub
这段代码就是模拟了手动的复制粘贴过程,是通用的,下次碰到可以直接使用 ❸最后点击开发工具的宏,执行宏,就把每个工作表拆分了一个工作簿保存下来 注意事项:在运行这个宏之前,需要把其他所有的工作簿都关闭,否则会出错 下次再碰到很多个工作表需要拆分的时候,用这段代码直接运行吧!
|