网站首页/办公软件列表/内容

如何在Excel 2013/2016/2019中保存多个或所有工作表为单独的csv文件 如何使用Excel中的VBA宏备份所有工作表为单独的文本文件

办公软件2024-01-02阅读
Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。

本文将指导您如何将Excel中工作簿中每个工作表保存为的单独CSV文件。如何在Excel 2013/2016中保存多个或所有工作表为单独的csv文件。如何使用Excel中的VBA宏导出所有工作表为单独的文本文件。

导出每个工作表为单独的CSV文件


假设您有一个包含四个不同工作表的工作簿,sheet1,sheet2,sheet3和sheet4。并且您希望每个工作表都导出为单独的CSV文件,并且每个CSV文件的文件名与其所在的工作簿的工作表名相同。要实现导出多个工作表为单独的csv文件,您必须使用VBA宏将当前工作簿中的所有工作表保存为单独的csv文件。执行下面的步骤:

步骤1:打开您的Excel工作簿,然后单击开发工具选项卡下的“Visual Basic”命令,或者只需按“ALT + F11”快捷方式。

Excel 中如何只複製內容和格式102

步骤2:然后将出现“Visual Basic编辑器”窗口。

Excel 中如何只複製內容和格式91

步骤3:单击“插入” – >“模块”以创建新模块。

Excel 中如何只複製內容和格式101

步骤4:将以下VBA代码粘贴到代码窗口中。然后单击“保存”按钮。

Excel中如何保存或导出每个工作表为单独的CSV文件

Public Sub SaveWorksheetsAsCsv()Dim WS As Excel.WorksheetDim SaveToDirectory As StringDim CurrentWorkbook As StringDim CurrentFormat As Long CurrentWorkbook = ThisWorkbook.FullName CurrentFormat = ThisWorkbook.FileFormat' Store current details for the workbook      SaveToDirectory = "D:\tmp\"      For Each WS In ThisWorkbook.Worksheets          WS.SaveAs SaveToDirectory & WS.Name, xlCSV      Next Application.DisplayAlerts = False  ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat Application.DisplayAlerts = True' Temporarily turn alerts off to prevent the user being prompted'  about overwriting the original file.End Sub
?

步骤5:返回当前工作表,然后运行上面的excel宏。点击执行按钮。

Excel中如何保存或导出每个工作表为单独的CSV文件

步骤6:您将看到所有工作表已转换为指定目录中的单个CSV文件。此示例将csv文件保存到D:tmp目录中。您需要根据需要更改变量“SaveToDirectory”。或者您也可以在磁盘D分区中创建一个名为tmp的临时目录。

Excel中如何保存或导出每个工作表为单独的CSV文件

导出每个工作表为单独的文本文件


如果只想将每个工作表转换为活动工作簿的单独文本文件,还可以使用Excel VBA宏来实现结果。只需使用以下VBA代码:

Public Sub SaveWorksheetsAsCsv()Dim WS As Excel.WorksheetDim SaveToDirectory As StringDim CurrentWorkbook As StringDim CurrentFormat As Long CurrentWorkbook = ThisWorkbook.FullName CurrentFormat = ThisWorkbook.FileFormat' Store current details for the workbook      SaveToDirectory = "D:\tmp\"      For Each WS In ThisWorkbook.Worksheets          WS.SaveAs SaveToDirectory & WS.Name & ".txt"      Next Application.DisplayAlerts = False  ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=xlText Application.DisplayAlerts = True' Temporarily turn alerts off to prevent the user being prompted'  about overwriting the original file.End Sub
?

Excel中如何保存或导出每个工作表为单独的CSV文件


Excel整体界面趋于平面化,显得清新简洁。流畅的动画和平滑的过渡,带来不同以往的使用体验。

……

相关阅读