将输出保存在新的Excel文件中

时间:2015-03-27 15:21:14

标签: excel vba excel-vba

我想将我的最终输出表保存到新的excel文件中,并创建了一个按钮来执行此操作。

Set NewBook = Workbooks.Add
Set ws = ThisWorkbook.Worksheets("Output")
Do
    fName = Application.GetSaveAsFilename
Loop Until fName <> False
ws.Copy Before:=NewBook.Sheets(1)
NewBook.SaveAs Filename:=fName & Excel.XlFileFormat.xlOpenXMLWorkbook
NewBook.Close

代码将输出文件保存在Windows shell或任何unkbown格式中。如何修改它以excel格式保存文件(没有宏),然后自动关闭它?感谢。

2 个答案:

答案 0 :(得分:2)

您使用另存为错误

NewBook.SaveAs fName, Excel.XlFileFormat.xlOpenXMLWorkbook

答案 1 :(得分:1)

NewBook.SaveAs Filename:=fName & ".XLSX", FileFormat:=xlOpenXMLWorkbook
  1. 您必须提供文件扩展名,Excel不会为您执行此操作。
  2. 您需要提供format参数作为参数,而不是连接到字符串中(如Sorceri所指出的)
  3. 您通过命名指定了第一个参数,所有后续参数都必须命名为
  4. 您只需要指定枚举名称,而不是指定它的完整对象路径