使用宏将Excel工作表保存为CSV,文件名来自单元格

时间:2014-10-03 12:26:35

标签: excel vba excel-vba csv

我有一个宏,可以保存我的工作簿的副本,但它可以保存为.xlsm 我需要将其保存为逗号分隔的.csv文件类型 任何人都可以帮助我吗?

这是我现在拥有的宏

  

Sub toCSV()

Dim newWB As Variant
Dim wb1 As Workbook
Set wb1 = ActiveWorkbook
With wb1
    .SaveCopyAs ("C:\Users\sales\desktop\") & Range("A2").Text & ".xlsm"
End With

End Sub

3 个答案:

答案 0 :(得分:1)

此代码将把您要保存的工作表作为CSV保存,并在保存之前将其复制到新工作簿

Dim CSVBook As Workbook
Set CSVBook = Workbooks.Add
ThisWorkbook.Sheets("TheCSVSheet").Copy Before:=CSVBook.Sheets(1)
CSVBook.SaveAs Filename:="C:\tmp\test.csv", FileFormat:=xlCSV
CSVBook.Close

这样您就可以将文件另存为CSV,但仍保留原始启用宏的电子表格,您可以返回该电子表格,并执行您需要的任何其他处理

答案 1 :(得分:0)

代码:

.SaveAs Filename:=("C:\Users\sales\desktop\") & Range("A2").Text & ".csv", _
FileFormat=:xlCSV

答案 2 :(得分:-1)

尝试将此添加到您的代码中:

FileFormat:=xlCSVMSDOS

改变' .xlsm'到' .csv'

我还强烈建议您查看here以了解有关保存的未来问题!