在excel(vba)中向工作表添加图表失败

时间:2013-02-22 10:31:40

标签: excel vba excel-vba

我有以下非常简单的代码,但无法

Dim ws As Worksheet 
Dim ShapeRef As Shape
Set ws = Sheets("DatenFilledChart") 
ShapeRef = ws.Shapes.AddChart()

错误91:变量未定义。

我无法理解为什么会失败。

2 个答案:

答案 0 :(得分:1)

Shape是一个对象,因此您需要像Set对象那样使用Sheets。虽然这是运行时错误'91',但错误描述应为'对象变量或未设置块变量'。

无论如何,尝试像这样设置对象:Set ShapeRef = ws.Shapes.AddChart()

答案 1 :(得分:0)

您是否有理由将此图表添加为形状集合的成员?

如果没有,如果需要使用ChartObject,请执行以下操作:

''Create a chart object (size/dimensions may be overridden or changed later in your code)
Set ShapeRef = ws.ChartObjects.Add(Left:=chtLeft, Top:=chtTop, Width:=740, Height:=300)

如果您需要使用图表,请添加另一个变量:

Dim cht as Chart
Set cht = ShapeRef.Chart