次の非常に単純なコードがありますが、失敗します
Dim ws As Worksheet
Dim ShapeRef As Shape
Set ws = Sheets("DatenFilledChart")
ShapeRef = ws.Shapes.AddChart()
エラー 91: 変数が定義されていません。
なぜこれが失敗するのか理解できません。
AShape
はオブジェクトなので、オブジェクトに対してSet
行ったように使用する必要がありSheets
ます。これはランタイム エラー '91' ですが、エラーの説明は 'オブジェクト変数または With ブロック変数が設定されていません' である必要があります。
とにかく、次のようにオブジェクトを設定してみてくださいSet ShapeRef = ws.Shapes.AddChart()
。
このチャートを形状コレクションのメンバーとして追加する必要がある理由はありますか?
そうでない場合、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