- ベストアンサー
エクセルのグラフの設定をマクロで変更する方法が分からなくて困っています
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>回答番号:No.1 この回答へのお礼 失礼しました。 コードの記述で過ちがありました。 Range("A1:C" & G6.Value) は間違いで Range("A1:C" & Range("G6").Value) としてください。 ActivesheetとSheets("PI DATA")は同じですか? 同じなら ActiveSheet.ChartObjects("グラフ 4").Activate 'ActiveChart.ChartArea.Select '★1、この行は不要です ActiveChart.SetSourceData Source:=Range("A1:C" & Range("G6").Value) 同じでない場合 G6がActiveSheetにあるのなら ActiveSheet.ChartObjects("グラフ 4").Activate With Sheets("PI DATA") ActiveChart.SetSourceData Source:=.Range("A1:C" & Range("G6").Value) End With G6がSheets("PI DATA")にあるのなら Range("G6")をSheets("PI DATA")で修飾しなければなりません。 ActiveSheet.ChartObjects("グラフ 4").Activate With Sheets("PI DATA") ActiveChart.SetSourceData Source:=.Range("A1:C" & .Range("G6").Value) End With あとグラフはActivateしなくても処理ができます。 試してみてください。 With ActiveSheet.ChartObjects("グラフ 4") .SetSourceData Source:=Range("A1:C" & Range("G6").Value) End With
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17070)
基本的に方法論として、マクロの記録を取り直してみて、どう変わるか見れば、判るのでは。 ーー その前後の結果(データ範囲の部分に)について、どういう風に変えたのか質問に書かないで、(当然変更してみた結果どうなったか、についても)質問しているのはおかしいと思う。 変更後、(再)実行はしたでしょうね。 ーー 対象は 1例で Charts.Addを実行して後 ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A2:B4")の1行でしょう ーー 添付画像は何が書いてあるか、までは判らない(読めない)場合が多く読者には役立たない。これはOKWAVEのせいだが。 ーー グラフのVBAの基本は グラフを描く、グラフの種類、データは何処、描く場所(埋め込む)は何処 Sub test01() Set g = Charts.Add With g .ChartType = xlLineMarkers .SetSourceData Source:=Sheets("Sheet2").Range("A2:B4") .Location Where:=xlLocationAsObject, Name:="Sheet3" End With End Sub
お礼
詳しい説明ありがとうございました。問題が解決し無事マクロも完成いたしました。
- xls88
- ベストアンサー率56% (669/1189)
下記で試してみてください。 (グラフを選択して置いて実行してください。) Activechart.SetSourceData Source:=Sheets("データ").Range("A1:C250") セル(例えばD1)の計算値を反映するなら Activechart.SetSourceData Source:=Sheets("データ").Range("A1:C" & D1.Value)
お礼
早速の回答ありがとうございます。 下記のようなマクロを組んでみましたが3行目でデバッグが出てしまいまいます。 グラフ4をセレクトしてシート「PI DATA」のG6の計算結果の範囲を行に指定するように しました。 ActiveSheet.ChartObjects("グラフ 4").Activate ActiveChart.ChartArea.Select ActiveChart.SetSourceData Source:=Sheets("PI DATA").Range("A1:C" & G6.Value) お手数ですがご教授願います。
お礼
遅れましたが回答有難うございました。