我的一张纸(图表)上有几张图表,我只想导出6张特定的图表。当我选择一个图表并转到Layout
标签时,我看到一个名为Chart Name
的东西,我假设让我选择图表名称。我已经尝试将名称更改为" ChartA"其中一个图表。请帮助解决这个简单的VBA代码。
Sub SaveJPGTest()
Chart("ChartA").Export "Z:\specialChart.jpg"
End Sub
答案 0 :(得分:3)
添加basePath
以将jpg保存在与excel文件相同的目录中。保存为PNG,因为它似乎比JPG更好的质量和更小的文件大小。不确定这是否是最好的文件格式。
此代码设置工作表charts
和图表ChartA
处于活动状态,然后保存活动图表。
Sub SaveAreaPowerJPGs()
Dim basePath As String
basePath = ThisWorkbook.Path & "\"
ActiveWorkbook.Sheets("charts").Activate
ActiveSheet.ChartObjects("ChartA").Activate
ActiveChart.Export Filename:=basePath & "ChartA.jpg", Filtername:="PNG"
End Sub
答案 1 :(得分:2)
Sub ChartToJPG()
Dim Chrt As Chart
Application.ScreenUpdating = False
ActiveSheet.ChartObjects("ChartA").Activate
ActiveChart.ChartArea.Copy
Set Chrt = Charts.Add
Chrt.Paste
Chrt.Export Filename:="C:\Users\Maudibe\Desktop\MyChart.jpg", Filtername:="JPG"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
选择适合的路径。
答案 2 :(得分:0)
我修改了这段代码,当你的图表在它自己的工作表中时。它还会自动获取活动工作表名称SheetName
,并将其用作保存时的文件名,类似于上面的名称。我还通过在basePath
中添加“\”来更改了Filename
。享受。
Sub Save_Chart()
Dim basePath As String
basePath = ThisWorkbook.Path
SheetName = ActiveSheet.Name
ActiveWorkbook.Sheets(SheetName).Activate
ActiveSheet.Export Filename:=basePath & "\" & SheetName & ".jpg", Filtername:="JPG"
End Sub