本文将指导您如何将Excel中工作簿中每个工作表保存为的单独CSV文件。如何在Excel 2013/2016中保存多个或所有工作表为单独的csv文件。如何使用Excel中的VBA宏导出所有工作表为单独的文本文件。
假设您有一个包含四个不同工作表的工作簿,sheet1,sheet2,sheet3和sheet4。并且您希望每个工作表都导出为单独的CSV文件,并且每个CSV文件的文件名与其所在的工作簿的工作表名相同。要实现导出多个工作表为单独的csv文件,您必须使用VBA宏将当前工作簿中的所有工作表保存为单独的csv文件。执行下面的步骤:
步骤1:打开您的Excel工作簿,然后单击开发工具选项卡下的“Visual Basic”命令,或者只需按“ALT + F11”快捷方式。
步骤2:然后将出现“Visual Basic编辑器”窗口。
步骤3:单击“插入” – >“模块”以创建新模块。
步骤4:将以下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, 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宏。点击执行按钮。
步骤6:您将看到所有工作表已转换为指定目录中的单个CSV文件。此示例将csv文件保存到D:tmp目录中。您需要根据需要更改变量“SaveToDirectory”。或者您也可以在磁盘D分区中创建一个名为tmp的临时目录。
如果只想将每个工作表转换为活动工作簿的单独文本文件,还可以使用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?
……