【问题标题】:Excel VBA Export chartExcel VBA 导出图表
【发布时间】:2016-03-16 09:47:08
【问题描述】:

我对 VBA 一无所知,我只是想在每次保存 Excel 文档时将 4 个图表(已经在各自的选项卡中分开)作为 PNG 文件无缝导出到预先指定的位置。

通过一些 stackoverflow 的数据库,我设法对我想导出为 CSV 的工作表做类似的事情,但我无法为我的图表做同样的事情。

现在这就是我的 VBA 在 ThisWorkbook 中的样子:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Application.DisplayAlerts = False
Application.ScreenUpdating = False
ThisWorkbook.Worksheets("CSV Monthly Update").Copy
ActiveWorkbook.SaveAs Filename:="CSV Monthly Update.csv", FileFormat:=xlCSVWindows
ActiveWorkbook.Close

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

'上面这部分效果很好'

'下面的没有,我试图从工作表“Growth_of_10k”中导出图表,但它给了我一个运行时错误 9,关于 runscript is out of page'

Sub ExportChart()
    Dim objChrt As ChartObject
    Dim myChart As Chart

    Set objChrt = Sheets("Growth_of_10k").ChartObjects(3)
    Set myChart = objChrt.Chart

    myFileName = "myChart.png"

    On Error Resume Next
    Kill ThisWorkbook.Path & "\" & myFileName
    On Error GoTo 0

    myChart.Export Filename:=ThisWorkbook.Path & "\" & myFileName, Filtername:="PNG"

    MsgBox "OK"
End Sub

知道我需要如何更改代码,以便在保存 Excel 的同时将图表自动导出到与文件相同的位置(或另一个预先指定的位置,没关系)文件?

如果这是一个新手问题,我很抱歉,这真的是我第一次尝试 VBA,只有当你不明白自己在做什么时,谷歌搜索才能让你到目前为止。

非常感谢。

【问题讨论】:

  • 你在哪一行得到错误?
  • 您的代码对我有用 - 我唯一可以建议的是,当您运行它时可能有一个不同的工作簿处于活动状态(因此它会在该工作簿中查找工作表“Growth_of_10k”但找不到它)修复:Set objChrt = ThisWorkbook.Sheets("Growth_of_10k").ChartObjects(3)
  • 它告诉我运行时错误 '1004' 应用程序定义或对象定义的错误。我从别人那里拿了 Set objChrt = Sheets("Growth_of_10k").ChartObjects(3) 。所以我不知道我制作的页面中的图表名称或图表编号是什么。我有一个名为“Growth_of_10k”的页面,其中只有一个图表,依此类推。但我不知道工作表中图表的编号是多少,也不知道如何引用我要导出的那些图表。 Dropbox 链接:dropbox.com/s/ir3f7223nb9o2db/…

标签: vba excel charts export


【解决方案1】:

图表表不同于嵌入在工作表中的图表对象。

Thisworkbook.Sheets("Chart1").Export _
        Filename:=ThisWorkbook.Path & "\" & myFileName, Filtername:="PNG"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    相关资源
    最近更新 更多