VBA实现保存Excel多个工作表中的选择区域为CSV文件
经常需要将Excel工作表转换成CSV文件,而使用另存为的功能只能对一个工作表进行操作,同时保存的总是整个工作表,而对于有多个工作表的文件特别是还有许多不需要保存到CSV文件中的内容,这样的处理方式就会显得很麻烦,因此采用VBA实现保存Excel多个工作表中的选择区域为CSV文件。首先在Excel选择需要导出的工作表(选择的方法是:点击选择第一个工作表,然后按下ctrl同时再点击其它工作表),选择之后,运行下面的VBA宏,宏代码如下:
Option Explicit
Sub ExportSelectionToCSV()
Dim wks As Worksheet
Dim newWks As Worksheet
For Each wks In ActiveWindow.SelectedSheets
wks.Copy 'to a new workbook
Set newWks = ActiveSheet
With newWks
Application.DisplayAlerts = False
.Parent.SaveAs Filename:="C:\TEMP\" & .Name, _
FileFormat:=xlCSV
Application.DisplayAlerts = True
.Parent.Close savechanges:=False
End With
Next wks
End Sub
上面的VBA函数将把Excel工作表中的保存到文件夹C:\temp (必须已经存在此文件夹)下,并且使用工作表的名称作为文件名,同时会覆盖同名文件(如果有同名文件的存在)。
CSV即Comma Separate Value,这种文件格式经常用来作为不同程序之间的数据交互的格式。


