我是vba的新手,我想知道为什么文件输出当我尝试这个代码只是一个默认文件而不是csv。我通过宏录制创建了这段代码。我希望能够在处理工作表后将文件另存为csv。我的代码如下
Sub Done()
Sheets("Test").Select
Range("A2:M3").Select
Range("A2:M3").Copy
Range("A2").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("Test").Select
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:= _
Application.GetSaveAsFilename, FileFormat:= _
xlCSV, CreateBackup:=False
ActiveWorkbook.Close SaveChanges:=False
End Sub
答案 0 :(得分:1)
要将文件另存为csv,请尝试:
Sub Done()
Sheets("Test").Select
Range("A2:M3").Select
Range("A2:M3").Copy
Range("A2").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("Test").Select
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:="C:\filename.csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close SaveChanges:=False
End Sub
根据需要更改文件路径和文件名。
编辑:使用另存为对话框
的 ------------------------------------------------------------------------ 强>
试试这个:
Sub Done()
Sheets("Test").Select
Range("A2:M3").Select
Range("A2:M3").Copy
Range("A2").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("Test").Select
ActiveWorkbook.Save
fname = Application.GetSaveAsFilename(InitialFileName:="Test", FileFilter:="CSV (Comma delimited) (*.csv), *.csv", Title:="Save As")
ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlCSV
End Sub
答案 1 :(得分:0)
当你致电ActiveWorkbook.SaveAs
时,你需要用文件名替换“在这里输入代码”:
ActiveWorkbook.SaveAs Filename:= "MyFilename.csv"_
FileFormat:= xlCSV, CreateBackup:=False _
ActiveWorkbook.Close SaveChanges:=False
获得文件名后,即可保存文件。您可以选择所需的任何文件名,只需在此示例中使用该文件名代替MyFilename.csv
。