我正在尝试从Excel创建多个csv文件。我有一个vba,可在每个标签上创建一个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
谢谢乔
可以找到空白单元格Selection.SpecialCells(xlCellTypeBlanks).Select
,但我看不到您选择任何数据。
如果只需要某些列,建议您在复制到新表后删除其他列。在以下位置添加此行Copy
:
ActiveSheet.Columns(X).Delete
对要删除的每个列执行此操作,将X替换为该列的名称,即。“C”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句