【问题标题】:Export Range to New Excel Document VBA将范围导出到新 Excel 文档 VBA
【发布时间】:2018-05-10 12:04:05
【问题描述】:

我是 VBA 新手,但正在处理一些报告,创建一个宏按钮以将定义的范围自动导出到新的 .xlsx 文档会简单得多。

到目前为止:

Sub ExportTest()
    Dim WS As Worksheet
    Dim Rng As Range
    Set Rng = Range("A1:K10")
    Application.Workbooks.Add
    Set WS = Application.ActiveSheet
    Rng.Copy Destination:=WS.Range("A1")
    WS.SaveAs "test", ".xlsx"
End Sub

我收到错误 1004,这似乎是 SaveAs 部分的问题。

但无法弄清楚如何将其自动保存到预定义的文件夹中。 另外,如果可能的话,是否可以将文件名作为原始工作簿中的单元格引用?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您的 SaveAs 语法有误。试试这个

    WS.SaveAs "test", xlOpenXMLWorkbook
    

    【讨论】:

    • 有没有办法定义文件的保存位置?即 'C:\test\' 我也假设自动设置文件名我可以添加一个 'Set Filename = ("A1")' 并将 "test" 更改为文件名?
    • 所以我发现 'WS.SaveAs "C:\test\" & "\test", xlOpenXMLWorkbook' 将文件保存为 c:\Test 中的测试
    【解决方案2】:

    我想我现在解决了,谢谢!

    Sub Test()
    Dim WS As Worksheet
    Dim Rng As Range
    Set Rng = Range("A1:K10")
    Application.Workbooks.Add
    Set WS = Application.ActiveSheet
    Rng.Copy Destination:=WS.Range("A1")
    Dim Path As String
    Dim filename As String
    Path = "C:\test\"
    filename = Range("A1")
    WS.SaveAs filename:=Path & filename & ".xlsx", FileFormat:=xlOpenXMLWorkbook
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2017-11-09
      • 2018-11-25
      • 1970-01-01
      • 2019-03-10
      • 2014-01-05
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多