如何通过名称参考导出图表

时间:2013-10-07 23:55:34

标签: excel vba charts

我的一张纸(图表)上有几张图表,我只想导出6张特定的图表。当我选择一个图表并转到Layout标签时,我看到一个名为Chart Name的东西,我假设让我选择图表名称。我已经尝试将名称更改为" ChartA"其中一个图表。请帮助解决这个简单的VBA代码。

Sub SaveJPGTest()
Chart("ChartA").Export "Z:\specialChart.jpg"
End Sub

3 个答案:

答案 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)

复制自:http://windowssecrets.com/forums/showthread.php/129693-Export-charts-from-Excel-into-any-image-format稍作调整。

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