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

VBAでグラフに新たな系列を追加しようと思い
以下のプログラムを書きました。
しかしながら、 .
Valuesの値の指定の場所でエラーが発生しました。
また、
.XValues = Sheets(シート名(o)).Range(Cells(2, 1), Cells(行の数 + 1, 1))
.Values = Sheets(シート名(o)).Range(Cells(2, p + 1), Cells(行の数 + 1, p + 1))

.XValues = Range(Cells(2, 1), Cells(行の数 + 1, 1))
.Values = Range(Cells(2, p + 1), Cells(行の数 + 1, p + 1))
に直すとうまくいきました。

別のシートの値をグラフに設定する方法がわかっていないみたいなのですが、
やり方がよくわかりません。
もし、わかる方がいたら教えていただけないでしょうか?
よろしくお願いします。

以下、書いたプログラムです。

o=2
ActiveSheet.ChartObjects("グラフ1 " ).Activate
ActiveChart.SeriesCollection.NewSeries
'グラフの種類・データの範囲・凡例・2軸の使用を指定します
With ActiveChart.SeriesCollection(o)
'グラフの種類を設定 折れ線グラフ
.ChartType = xlXYScatterLines
'データの指定
.XValues = Sheets(シート名(o)).Range(Cells(2, 1), Cells(行の数 + 1, 1)) '←ここでエラーが出ます。
.Values = Sheets(シート名(o)).Range(Cells(2, p + 1), Cells(行の数 + 1, p + 1))
'凡例の指定
.Name = シート名(o)
End With

A 回答 (1件)

よくあるRange(Cells(・・),Cells(・・))の2つのセルのシート名を特定していないときに出るエラーではないのか。


よく経験することだが、これかどうか。
(1)エラーコードぐらい質問に書くこと
(2)教えてもらうのだから、労を惜しまず、読者が直ぐ追試できるぐらいの配慮(コードを修正)をして質問に挙げること。
 質問者しかわからない部分があるコードが例で載っている。
ーー
Sheet1あ、B列
x
a2
b3
c4
d5
ーー
棒グラフを描かせた(折線でも良い)。これも質問に書いてない。
Sheet2 A列
A2以下に1
2
3
4
ーーー
質問コードをを改変
Sub test01()
o = 2
ch = ActiveSheet.ChartObjects(1).Name
ActiveSheet.ChartObjects(ch).Activate
ActiveChart.SeriesCollection.NewSeries
'グラフの種類・データの範囲・凡例・2軸の使用を指定します
With ActiveChart.SeriesCollection(o)
'グラフの種類を設定 折れ線グラフ
.ChartType = xlXYScatterLines
'データの指定
行の数 = Worksheets("Sheet1").Range("a65536").End(xlUp).Row
Set sh2 = Worksheets("Sheet2")
.XValues = sh2.Range(sh2.Cells(2, 1), sh2.Cells(行の数 + 1, 1)) '←ここでエラーが出ます。
.Values = sh2.Range(sh2.Cells(2, p + 1), sh2.Cells(行の数 + 1, p + 1))
'凡例の指定
.Name = "Sheet2"
End With
End Sub
これでエラーは出ずに、それらしく折線が追加されたが、参考にしてください。
    • good
    • 0
この回答へのお礼

教えていただいたコードにより、間違いに気付きました。
ありがとうございました。

お礼日時:2011/05/24 19:00

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