dポイントプレゼントキャンペーン実施中!

エクセル2013を使っています。マクロ初心者です。グラフも普段あまり扱いませんので不慣れです。よろしくお願いします。
マクロの記録を使ってグラフのデータ範囲を変更したら、下記コードが記録されました(○○○はシート名です)。

ActiveSheet.ChartObjects("グラフ 2").Activate
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveChart.FullSeriesCollection(1).Values = "='○○○'!R189C37:R199C37"
ActiveChart.FullSeriesCollection(2).Values = "='バ○○○'!R189C38:R199C38"

この189と199に変数を下記のように入れました。

Dim r As Integer
r = Range("A1").End(xlDown).Row
Dim i As Integer
Dim s As Integer
s = r - 10
i = ActiveCell.Value
ActiveSheet.ChartObjects("グラフ 2").Activate
ActiveChart.Axes(xlValue).MajorGridlines.Select

ActiveChart.FullSeriesCollection(1).Values = "='○○○'!R" & s & "C37:R" & r & "C37"
ActiveChart.FullSeriesCollection(2).Values = "='○○○'!R" & s & "C38:R" & r & "C38"

これを実行すると、エラーコード400になっていまいます。
どうすればいいのでしょうか?

A 回答 (2件)

>No.1 この回答へのお礼


ChartObjects("グラフ 2")は選択されていますか?
対象グラフと違うグラフが選択されたりはしていませんか?

他に下記でも試してください。
Worksheets("○○○")
ActiveChart.FullSeriesCollection(1).Values = .Range(.Cells(s, 37), .Cells(r, 37))
ActiveChart.FullSeriesCollection(2).Values = .Range(.Cells(s, 38), .Cells(r, 38))
End With
    • good
    • 1
この回答へのお礼

何度もありがとうございます。
この回答をいただく前に、試行錯誤して、ご回答のようにワークシートに名前をセットしてシートを定義してから、色々試したら何とかできました!
初心者なので何が解決の原因かあんまりよくわかってないんですが・・・。
もっと勉強します。
ご親切にありがとうございました!

お礼日時:2014/08/27 15:38

ActiveChart.FullSeriesCollection(2).Values = "='バ○○○'!R189C38:R199C38"


-------------------------------------------------↑ここの「バ」は消し忘れですか?

変数rには正しい値が入っていますか?

取りあえず下記でどうなるか試してください。
Excel2013を持っていないので未確認です。
ActiveChart.SeriesCollection(1).Values = "='○○○'!R" & s & "C37:R" & r & "C37"
ActiveChart.SeriesCollection(2).Values = "='○○○'!R" & s & "C38:R" & r & "C38"
    • good
    • 0
この回答へのお礼

ありがとうございました。
試したところ、「アプリケーション定義、またはオブジェクト定義のエラーです」となってしまいました。

お礼日時:2014/08/27 09:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!