11

シート「Graphs」のチャートを jpeg ファイルとしてエクスポートするボタンを作成しようとしています。これは私が持っているコードですが、このエラーが表示され続けます:

実行時エラー 424: オブジェクトが必要です

具体的には次のとおりです。

Set myChart = Graphs.ChartObjects(3).Name = "Chart4"

そして、ここにコードがあります

Sub ExportChart()
    Dim myChart As Chart
    Dim myFileName As String
    Set myChart = Graphs.ChartObjects(3).Name = "Chart4"
    myFileName = "myChart.jpg"
    On Error Resume Next
    Kill ThisWorkbook.Path & "\" & myFileName
    myChart.Export Filename:=ThisWorkbook.Path & "\" & myFileName, Filtername:="PNG"
    MsgBox "OK"
    Set myChart = Nothing
End Sub

みんな、ありがとう!

4

3 に答える 3

31

これはあなたがしようとしていることですか?

また、jpg として保存しようとしている場合、なぜ png フィルターを使用するのでしょうか? 「myChart.jpg」を「myChart.png」に変更しました。適宜変更してください。

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

    Set objChrt = Sheets("Graphs").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
于 2012-08-13T17:25:19.250 に答える
6

ありがとう、画像内のすべてのチャートを抽出するためにこれが必要でした。それはほぼ真夜中です。上記のコードを少し変更するだけでうまくいきました。

Sub ExportChart()
    Dim WS As Excel.Worksheet
    Dim SaveToDirectory As String

    Dim objChrt As ChartObject
    Dim myChart As Chart

    SaveToDirectory = ActiveWorkbook.Path & "\"

    For Each WS In ActiveWorkbook.Worksheets
        WS.Activate 'go there
        For Each objChrt In WS.ChartObjects
            objChrt.Activate
            Set myChart = objChrt.Chart

            myFileName = SaveToDirectory & WS.Name & "_" & objChrt.Index & ".png"

            On Error Resume Next
            Kill SaveToDirectory & WS.Name & Index & ".png"
            On Error GoTo 0

            myChart.Export Filename:=myFileName, Filtername:="PNG"
        Next
    Next

    MsgBox "OK"
End Sub
于 2016-11-29T15:42:48.653 に答える