禁用图表向导

时间:2015-01-16 14:58:21

标签: excel vba excel-vba charts wizard

这是我的代码的一部分:

ActiveSheet.Shapes.Addchart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.ChartArea.Clear

这很好,但是,当我使用超过32,000行的图表时,这会导致错误。在实际知道我想要使用哪些数据之前,我能以某种方式阻止excel尝试绘制数据吗?

2 个答案:

答案 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网站上的代码:

http://peltiertech.com/Excel/ChartsHowTo/QuickChartVBA.html

答案 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点的情节"错误......但我不太喜欢这个解决方案:(