0

我的一张表(图表)上有几个图表,我只想导出 6 个特定图表。当我选择一个图表并转到Layout选项卡时,我看到一个名为的东西Chart Name,我假设它可以让我选择图表名称。我尝试将其中一张图表的名称更改为“ChartA”。请帮助这个简单的 VBA 代码。

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

3 回答 3

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
于 2013-10-08T21:27:10.583 回答
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

选择适合的路径。

于 2013-10-08T00:31:40.917 回答
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
于 2015-01-30T18:32:35.250 回答