当前位置: 主页 > Office办公 > Excel专区 > Excel教程 > 如何在Excel 2013/2016/2019中保存多个或所有工作表为单独的csv文件 如何使用Excel中的VBA宏导出所有工作表为单独的文本文件

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

  • 2021-11-10
  • 来源/作者: 菜鸟图库/ 菜鸟图库
  • 600 次浏览

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

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

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


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

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

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

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

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

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

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

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

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

Public Sub SaveWorksheetsAsCsv()

Dim WS As Excel.Worksheet
Dim SaveToDirectory As String

Dim CurrentWorkbook As String
Dim 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 2013/2016/2019中保存多个或所有工作表为单独的csv文件 如何使用Excel中的VBA宏导出所有工作表为单独的文本文件

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

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

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


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

Public Sub SaveWorksheetsAsCsv()

Dim WS As Excel.Worksheet
Dim SaveToDirectory As String

Dim CurrentWorkbook As String
Dim 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 2013/2016/2019中保存多个或所有工作表为单独的csv文件 如何使用Excel中的VBA宏导出所有工作表为单独的文本文件

标签(TAG) excel教程