0

次の非常に単純なコードがありますが、失敗します

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

エラー 91: 変数が定義されていません。

なぜこれが失敗するのか理解できません。

4

2 に答える 2

1

AShapeはオブジェクトなので、オブジェクトに対してSet行ったように使用する必要がありSheetsます。これはランタイム エラー '91' ですが、エラーの説明は 'オブジェクト変数または With ブロック変数が設定されていません' である必要があります。

とにかく、次のようにオブジェクトを設定してみてくださいSet ShapeRef = ws.Shapes.AddChart()

于 2013-02-22T11:19:49.013 に答える
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)

Chart を操作する必要がある場合は、別の変数を追加します。

Dim cht as Chart
Set cht = ShapeRef.Chart
于 2013-02-22T12:37:44.507 に答える