一些有用的图表宏
宏1:使图表覆盖单元格区域
下面的代码修改当前图表的位置和大小以适合覆盖单元格区域B2:J18。
Sub FitChartToRange()
Dim cht As Chart
Dim rng As Range
'赋值对象到变量
Set cht = ActiveChart
Set rng = ActiveSheet.Range("B2:J18")
'移动并调整图表大小
cht.Parent.Left = rng.Left
cht.Parent.Top = rng.Top
cht.Parent.Width = rng.Width
cht.Parent.Height = rng.Height
End Sub
宏2:将图表导出为图片
下面的代码将当前图表在指定位置保存为图表。
Sub ExportSingleChartAsImage()
Dim imagePath As String
Dim cht As Chart
imagePath = "C:\完美Excel\myImage.png"
Set cht = ActiveChart
'导出图表
cht.Export (imagePath)
End Sub
宏3:将所有图表的大小调整为与当前图表相同
下面的代码调整当前工作表中所有图表的大小,以使得它们与当前图表的大小相同。
Sub ResizeAllCharts()
Dim chtHeight As Long
Dim chtWidth As Long
'创建遍历图表对象的变量
Dim chtObj As ChartObject
'获取第一个选择的图表的大小
chtHeight = ActiveChart.Parent.Height
chtWidth = ActiveChart.Parent.Width
For Each chtObj In ActiveSheet.ChartObjects
chtObj.Height = chtHeight
chtObj.Width = chtWidth
Next chtObj
End Sub