【发布时间】:2018-04-17 14:56:37
【问题描述】:
我在使用大量数据创建多个图表时遇到了问题。我需要创建 4 个单独的图表。成功创建第一个图表后,我的下一个图表的代码是相似的,但代码在以下图表中产生了数量惊人的系列。我的第 2 个图表共有 6 个系列,第 3 个图表有 33 个系列,第 4 个有 48 个。在每个图表的数据选择中,B 列是我的日期,然后第二个范围是我的数据,但在我的 2-4图表代码开始选择我没有指定的列。我该如何解决/解决这个问题?
我的 Sub 用于创建这些图表:
Sub ChartC()
Dim EmbChart As Chart, EmbChart1 As Chart, EmbChart2 As Chart, EmbChart3 As
Chart
Dim cht As Object
Dim wks As Worksheet
Dim LastRow As Long
For Each wks In Worksheets
If wks.ChartObjects.Count > 0 Then
wks.ChartObjects.Delete
End If
Next wks
With Application.ActiveSheet
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
End With
'Cement Inventory Graph
Set EmbChart = ActiveSheet.Shapes.AddChart(Left:=2760, Width:=1000,
Top:=150, Height:=400).Chart
With EmbChart
.SetSourceData Source:=Sheets("TestSheet_Const_Ktonnage").Range("B5:C" & LastRow)
.Type = xlLine
.HasTitle = True
.ChartTitle.Text = "Year Overview of Total Cement Inventory"
.SeriesCollection(1).Name = "Total Cement Inventory"
End With
'Clinker Inventory Graph
Set EmbChart1 = ActiveSheet.Shapes.AddChart(Left:=2760, Width:=1000, Top:=650, Height:=400).Chart
With EmbChart1
.SetSourceData Source:=Range("B5:B" & LastRow, "H5:H" & LastRow)
.Type = xlLine
.HasTitle = True
.ChartTitle.Text = "Year Overview of Clinker Inventory"
End With
'Operational Efficiency Kiln1
Set EmbChart2 = ActiveSheet.Shapes.AddChart(Left:=2760, Width:=1000, Top:=1150, Height:=400).Chart
With EmbChart2
.SetSourceData Source:=Range("B5:B" & LastRow, "AI5:AI" & LastRow)
.Type = xlLine
.HasTitle = True
.ChartTitle.Text = "Year Overview of Operational Efficiency For Kiln1"
End With
'Operational Efficiency Kiln2
Set EmbChart3 = ActiveSheet.Shapes.AddChart(Left:=2760, Width:=1000, Top:=1650, Height:=400).Chart
With EmbChart3
.SetSourceData Source:=Range("B5:B" & LastRow, "AX5:AX" & LastRow)
.Type = xlLine
.HasTitle = True
.ChartTitle.Text = "Year Overview of Clinker Inventory"
End With
End Sub
【问题讨论】: