アプリ版:「スタンプのみでお礼する」機能のリリースについて

グラフのマクロで
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 プロパティを設定出来ません。」と出て
しまいます。どなたかご教授下さい

A 回答 (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

この回答への補足

記述ミスでした。ただそれを修正しても駄目でした。

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

補足日時:2009/01/27 09:55
    • good
    • 0

こんにちは。



(4と変数j-1が同じ)だとエラー、
という原因が判明しているのであれば
そのエラー箇所にて

If j-1 > 4 then
else
End If
の条件文記載し、4でないときと、4のときの
処理をわけるが一番早いかと思いました。
(4以下のときはRangeを使わないとか)

以上、ご参考まで。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/26 10:25

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ステートメントはどうなっていますか?

この回答への補足

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

補足日時:2009/01/26 10:20
    • good
    • 0

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