生成图表时出现自动化错误

我正在尝试从表格中生成一个图表。

该表在我的表“testing”,我希望我的图表在“状态”表中。

我正在使用一个代码,我得到一个自动化错误的线

.SetSourceData Source:=rng 

我没有每次都得到错误。 每30次或更多的迭代,我得到这个错误。

任何人都可以帮助,我可以如何纠正这一点

 Sub chart() Dim rng As Range Dim cht As Object Dim Ws As Worksheet Set Ws = Sheets("Test") Set rng = Ws.Range("G1:J2") Set sh = ActiveSheet.ChartObjects.Add(Left:=400, _ Width:=390, _ Top:=100, _ Height:=250) sh.Select Set cht = ActiveChart With cht .SetSourceData Source:=rng .ChartType = xlColumnClustered ActiveChart.FullSeriesCollection(1).Points(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0) ActiveChart.FullSeriesCollection(1).Points(2).Format.Fill.ForeColor.RGB = RGB(0, 255, 0) ActiveChart.FullSeriesCollection(1).Points(3).Format.Fill.ForeColor.RGB = RGB(0, 0, 255) ActiveChart.FullSeriesCollection(1).Points(4).Format.Fill.ForeColor.RGB = RGB(80, 100, 10) 'cht.Axes(xlSecondary).TickLabels.NumberFormat = "0.0%" End With 'cht.SeriesCollection(1).name = "" cht.SeriesCollection(1).HasDataLabels = True cht.HasTitle = True cht.ChartTitle.Text = "Status" End Sub 

试试这个:

 Sub chart() Dim rng As Range Dim cht As Chart Dim Ws As Worksheet Set Ws = ThisWorkbook.Sheets("Test") Set rng = Ws.Range("G1:J2") Set sh = ThisWorkbook.Sheets("status") sh.Shapes.AddChart(Left:=400, Top:=100, Width:=390, Height:=250).Select Set cht = ActiveChart With cht .SetSourceData Source:=rng .ChartType = xlColumnClustered .SeriesCollection(1).Points(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0) .SeriesCollection(1).Points(2).Format.Fill.ForeColor.RGB = RGB(0, 255, 0) .SeriesCollection(1).Points(3).Format.Fill.ForeColor.RGB = RGB(0, 0, 255) .SeriesCollection(1).Points(4).Format.Fill.ForeColor.RGB = RGB(80, 100, 10) .ChartTitle.Text = "Status" End With End Sub