可以使用以下代码实现:
Sub MergeCharts()
Dim ws As Worksheet
Dim cht1 As ChartObject
Dim cht2 As ChartObject
Dim chtCombined As ChartObject
Dim rng1 As Range
Dim rng2 As Range
Dim rngCombined As Range
' 设置工作表
Set ws = ThisWorkbook.Worksheets("Sheet1")
' 设置图表对象
Set cht1 = ws.ChartObjects("Chart1")
Set cht2 = ws.ChartObjects("Chart2")
' 设置图表的数据范围
Set rng1 = ws.Range("A1:B10")
Set rng2 = ws.Range("C1:D10")
' 创建新的图表对象
Set chtCombined = ws.ChartObjects.Add(Left:=cht1.Left, Top:=cht1.Top, Width:=cht1.Width, Height:=cht1.Height)
' 设置新图表的数据范围
Set rngCombined = ws.Range("E1:F10")
rngCombined.Value = Application.Union(rng1, rng2).Value
' 设置新图表的位置
chtCombined.Left = cht1.Left
chtCombined.Top = cht1.Top
' 设置新图表的大小
chtCombined.Width = cht1.Width
chtCombined.Height = cht1.Height
' 设置新图表的图表类型
chtCombined.Chart.ChartType = cht1.Chart.ChartType
' 设置新图表的标题
chtCombined.Chart.HasTitle = True
chtCombined.Chart.ChartTitle.Text = "Combined Chart"
' 删除原有的图表
cht1.Delete
cht2.Delete
End Sub
这段VBA代码可以将两个图表(Chart1和Chart2)合并为一个新的图表,并将合并后的数据范围设置为E1:F10。新图表的位置、大小、图表类型和标题可以根据需要进行调整。
领取专属 10元无门槛券
手把手带您无忧上云