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,这种文件格式经常用来作为不同程序之间的数据交互的格式。



分类:代码, 博客 标签:,

发表评论

You must be logged in to post a comment.