• 締切済み

エクセルのグラフのマクロでエラーが出てしまう

グラフのマクロで Charts.Add ActiveChart.ChartType = xlColumnClustered ActiveChart.SetSourceData Source:=Sheets("個人名シート").Range(.Cells(i, 4), .Cells(i, j - 1)), PlotBy _ :=xlRows X列項目範囲 = Range(.Cells(5, 4), .Cells(5, j - 1)) ActiveChart.SeriesCollection(1).XValues = X列項目範囲 ですが、X列項目範囲が1列だけ(4と変数j-1が同じ)だと最終行で 「実行時エラー'1004'; Series クラスの XValues プロパティを設定出来ません。」と出て しまいます。どなたかご教授下さい

みんなの回答

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

>With Worksheets("個人名シート")というWithステートメント >の中で動かしています。 ということなら、下記の部分ではシート名を記述する必要はないです。 ActiveChart.SetSourceData _   Source:=Sheets("個人名シート").Range(.Cells(i, 4), .Cells(i, j - 1)), _   PlotBy:=xlRows それから、記述ミスかも知れませんが、Rangeの前に「.」が抜けています。 X列項目範囲 = Range(.Cells(5, 4), .Cells(5, j - 1)) 再確認しますが、下記のようにされていますか? With Sheets("個人名シート")   ActiveChart.SetSourceData _     Source:=.Range(.Cells(i, 4), .Cells(i, j - 1)), _     PlotBy:=xlRows   X列項目範囲 = .Range(.Cells(5, 4), .Cells(5, j - 1)) End With

matchy4649
質問者

補足

記述ミスでした。ただそれを修正しても駄目でした。 ただ解決はしました! X列項目範囲を設定せず ActiveChart.SeriesCollection(1).XValues =Range(.Cells(5, 4), .Cells(5, j - 1)) と記載したらうまくいきました。ありがとうございました。

すると、全ての回答が全文表示されます。
  • SePapa
  • ベストアンサー率50% (47/94)
回答No.2

こんにちは。 (4と変数j-1が同じ)だとエラー、 という原因が判明しているのであれば そのエラー箇所にて If j-1 > 4 then else End If の条件文記載し、4でないときと、4のときの 処理をわけるが一番早いかと思いました。 (4以下のときはRangeを使わないとか) 以上、ご参考まで。

matchy4649
質問者

お礼

お答えいただいていたのに返事が遅くなって申し訳ありません。 やはりそれしか手が無いですか。4が変数j-1と同じ(列数が1列)の 場合でマクロを記録してみます。ありがとうございました。

すると、全ての回答が全文表示されます。
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

ActiveChart.SetSourceData Source:=Sheets("個人名シート").Range(.Cells(i, 4), .Cells(i, j - 1)), PlotBy _ :=xlRows とか X列項目範囲 = Range(.Cells(5, 4), .Cells(5, j - 1)) のところで、CellsにかかるWithステートメントはどうなっていますか?

matchy4649
質問者

補足

お答えいただいているのに返事が遅くなりました。 With Worksheets("個人名シート")というWithステートメント の中で動かしています。

すると、全ての回答が全文表示されます。

関連するQ&A