如何在 Excel 中将每个工作表导出并保存为单独的新工作簿
Excel 广泛应用于各行各业,包括财务、会计、数据分析、项目管理、销售等等。其多功能性和广泛的功能使其成为处理和分析数据、创建和打印报表以及做出明智业务决策的强大工具。要将每个工作表导出并保存为 Excel 中的单独新工作簿,您可以使用 VBA(Visual Basic for Applications)代码。
如何在 Excel 中将每个工作表导出并保存为单独的新工作簿
以下是实现此操作的示例:
步骤 1
打开您的 Excel 工作簿。
在工作表中创建示例数据。在我们的案例中,创建了 3 个工作表,分别为"订单"、"产品"和"客户"。
订单工作表

产品工作表

客户工作表

步骤 2
按"Alt + F11"打开Visual Basic 编辑器。
点击菜单中的"插入">"模块"插入新模块。
将以下 VBA 代码粘贴到模块中:
Sub ExportWorksheets()
Dim OriginalWorkbook As Workbook
Dim NewWorkbook As Workbook
Dim OriginalWorksheet As Worksheet
Dim NewWorksheet As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set OriginalWorkbook = ThisWorkbook 'Assuming the code is running from the workbook you want to split
For Each OriginalWorksheet In OriginalWorkbook.Worksheets
Set NewWorkbook = Workbooks.Add 'Create a new workbook for each worksheet
Set NewWorksheet = NewWorkbook.Worksheets(1) 'Get the first worksheet of the new workbook
OriginalWorksheet.Copy Before:=NewWorksheet 'Copy the original worksheet to the new workbook
'Remove other worksheets in the new workbook
While NewWorkbook.Worksheets.Count > 1
NewWorkbook.Worksheets(2).Delete
Wend
'Save the new workbook with the name of the original worksheet
NewWorkbook.SaveAs "E:\Assignments\3rd Assignments\How to export and save each worksheet as separate new workbook in Excel\NewSheets" & OriginalWorksheet.Name & ".xlsx"
NewWorkbook.Close SaveChanges:=False 'Close the new workbook without saving changes
Next OriginalWorksheet
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "Worksheets exported successfully!", vbInformation
End Sub
屏幕截图如下:

步骤 3
如果要从其他工作簿导出工作表,请修改 Set OriginalWorkbook = ThisWorkbook 这一行。将"E:\Assignments\3rd Assignments\How to export and save each worksheet as individual new workbook in Excel\NewSheets"替换为您要保存新工作簿的文件夹路径。
步骤 4
按"F5"或点击"运行"按钮执行代码。

现在,您会在工作表成功导出时看到弹窗。

此 VBA 代码将遍历原始工作簿中的每个工作表,创建一个新工作簿,复制当前工作表到新工作簿,删除新工作簿中所有额外的工作表,使用原始工作表的名称保存新工作簿,然后关闭新工作簿而不保存更改。每个工作表都将作为单独的新工作簿保存在指定的文件夹路径中。
注意
运行代码之前,请确保将文件路径替换为所需的目标路径。
在 NewSheets 文件夹中,每个工作表都导出并保存为单独的新工作簿。参见屏幕截图:

结论
可以使用 VBA(Visual Basic for Applications)代码在 Excel 中将每个工作表导出并保存为单独的新工作簿。只需几个简单的步骤,您就可以自动执行此过程并高效地管理您的工作表。
首先,打开您的 Excel 工作簿,然后按"Alt + F11"组合键访问 Visual Basic 编辑器。插入一个新模块,并将提供的 VBA 代码粘贴到其中。该代码会初始化变量并循环遍历工作簿中的每个工作表。对于每个工作表,系统都会创建一个新的工作簿,并将原始工作表复制到其中。新工作簿中的其他工作表将被删除,以确保只保留复制的工作表。然后,新工作簿将使用与原始工作表相同的名称保存,最后关闭工作簿而不保存更改。
通过根据需要修改代码并指定所需的目标文件夹,您可以有效地将每个工作表导出为单独的工作簿。这种自动化操作显著简化了流程,在 Excel 中处理多个工作表时节省了时间和精力。
相关文章
有用资源
excel 参考教程 - 该教程包含有关 excel 的更多信息:https://www.cainiaomax.com/excel/

