将 Excel 工作簿中的多个工作表拆分为单独的文件并以表头名称命名
此教程适用于 WPS Office Excel 和 Microsoft Office Excel。
步骤
- 打开 Excel,然后打开包含多个工作表的工作簿。
- 按
Alt + F11
快捷键打开 VBA 编辑器。 - 在 VBA 编辑器中,点击菜单栏的
插入
->模块
,新建一个模块。 - 在新建的模块中,粘贴以下 VBA 代码:
- 按 Ctrl + S 保存 VBA 项目。
- 按 F5 或点击 VBA 编辑器菜单栏的 运行 -> 运行子例程 来运行刚刚粘贴的代码。
现在,这个 VBA 代码将遍历您打开的工作簿中的所有工作表,并将每个工作表另存为一个单独的 Excel 文件。这些新文件将保存在原始工作簿所在的文件夹中,文件名将根据每个工作表的 A1 单元格的内容(去除空格后的表头名称)命名。
Sub SplitWorkbookByHeader()
Dim xPath As String
Dim xWs As Worksheet
Dim xHeader As String
xPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each xWs In ThisWorkbook.Worksheets
xHeader = RemoveSpaces(xWs.Range("A1").Value)
xWs.Copy
Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xHeader & ".xlsx"
Application.ActiveWorkbook.Close False
Next xWs
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Function RemoveSpaces(s As String) As String
RemoveSpaces = Replace(s, " ", "")
End Function