はじめまして。内容がExcelよりですがよろしくお願いします。
現在、ExcelにてVBを使用し、データからグラフを作成するマクロを作成中なのですが、
マクロの内容としてはグラフウィザードに従ってグラフを作成し、指定したオブジェク
トに貼り付けたいのですが、通常のグラフウィザードでは既存のオブジェクトに作成し
たグラフを貼り付けることが出来るのに、この一通りの処理をマクロにすると別のシー
トにグラフを貼り付けてしまいます。また、グラフウィザードで新規シートに貼り付け
る場合は問題ありません。
マクロは以下の通りです。
●既存オブジェクトにグラフを貼り付けた場合
Sheets(結果).Select
Range(E1:E897).Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets(結果).Range(E1:E897), _
PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:=既存オブジェクト
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = A
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = B
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = C
End With
○結果
別のシート(指定した既存オブジェクトではないところ)にグラフが貼り付けられて
しまう。
●新規シートにグラフを貼り付けた場合
Sheets(結果).Select
Range(F1:F897).Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets(結果).Range(F1:F897), _
PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=新規シート
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = A
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = B
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = C
End With
○結果
新規シートにグラフが貼り付けられる。
どこかチェックした方がよい点がありましたら教えて頂ければと思います。
ちなみに環境はVB6.0でOSはXPです。よろしくお願いします。
Location プロシージャに渡している Name 引数が適正な値か
チェックしてみてください。
kumaさん返信ありがとうございました。
本日Locationプロシージャに渡しているName引数を変更(シンプルな名前)確認してみ
たところ、既存オブジェクトにグラフを貼り付けることができました。恐らく以前のも
のはLocationプロシージャに渡しているName引数が適正な値(名前)でなかったんだと
思います(ちゃんとコピーして設定したはずだったんですが・・・)。
ご指導ありがとうございました。