我想从Excel创建多个csv文件。我有一个vba,每个选项卡创建一个csv文件,但输出中有空白。从excel创建CSV文件时删除空白单元
我有6列,该CSV文件的回报是有我忽略空白单元格,所以我没有空白逗号如路“”
这里是我使用的代码:
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 = "H:\test\"
For Each WS In ThisWorkbook.Worksheet
Sheets(WS.Name).Copy
ActiveWorkbook.SaveAs Filename:=SaveToDirectory & ThisWorkbook.Name & "-" & WS.Name & ".csv", FileFormat:=xlCSV
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
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
感谢乔
如果您只删除一些单元格,您的csv将会毫无意义,因为来自一列的数据将以多列结尾。但是,如果这是您想要的,您可以删除整列。 – pintxo
我明白你的意思,所以如果我只想要某些列用于CSV将可能?例如,我需要列A,B和F的所有内容,但其余部分并非真正需要。 –
你想要逗号....这是你的数据保持有组织的唯一方式,就像在csv(逗号分隔值)文件中提到的@ pintxo一样。 – timthebomb