这是我的代码的一部分:
ActiveSheet.Shapes.Addchart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.ChartArea.Clear
这很好,但是,当我使用超过32,000行的图表时,这会导致错误。在实际知道我想要使用哪些数据之前,我能以某种方式阻止excel尝试绘制数据吗?
答案 0 :(得分:0)
绝对有。您错过了告诉图表您要使用哪些信息的步骤。
以此代码为例。它添加了一个图表(采取额外的步骤来调整它),然后同时设置源数据,以及图表类型。
Sub AddChartObject()
'
With ActiveSheet.ChartObjects.Add _
(Left:=100, Width:=375, Top:=75, Height:=225)
.Chart.SetSourceData Source:=Sheets("Sheet1").Range("A3:G14")
.Chart.ChartType = xlXYScatterLines
End With
End Sub
Jon Peltier网站上的代码:
答案 1 :(得分:-1)
嗯,我最终得到了这个:
Sheets("List2").Select
With ActiveSheet.ChartObjects.Add _
(Left:=100, Width:=375, Top:=75, Height:=225)
.Chart.ChartType = xlXYScatter
.Chart.Location Where:=xlLocationAsNewSheet
End With
基本上只是切换到另一张表,上面的解决方案仍然导致"不超过32k点的情节"错误......但我不太喜欢这个解决方案:(