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
No.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
これでエラーは出ずに、それらしく折線が追加されたが、参考にしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
グラフマクロで系列を変数にす...
-
100万件越えCSVから条件を満た...
-
EXCELのSheet番号って変更でき...
-
Excel VBA オートフィルターで...
-
Excel2013で切り取り禁止
-
Excelで横書き50行の漢字テス...
-
VBAを使って複数のシートから抽...
-
楽天RSSからエクセルVBAを使用...
-
VBA 空白行に転記する
-
エクセル 複数シートの同一セ...
-
マクロ実行後に別シートの残像...
-
アクセスからエクセルへ出力時...
-
テキストボックスから、複数の...
-
月毎に現金出納帳に転記するコ...
-
複数シートの複数列に入力され...
-
Count Ifのセルの範囲指定に変...
-
vba 連続するとうまく作動せず
-
VBA 別ブックからの転記の高速...
-
VB2005でExcelのグラフのデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
VBAコードについて
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
VBA 別ブックからの転記の高速...
-
【VBA】特定の条件でセルをコピー
-
VBA別シートの最終行の次行へ転...
-
100万件越えCSVから条件を満た...
-
VBAで変数の数/変数名を動的に...
-
Changeイベントで複数セルへの...
-
楽天RSSからエクセルVBAを使用...
-
Count Ifのセルの範囲指定に変...
-
Unionでの他のシートの参照につ...
-
Excel2013で切り取り禁止
-
Excel VBA オートフィルターで...
-
VBA 実行時エラー1004 rangeメ...
-
複数シートの複数列に入力され...
-
VBA Userformで一部別シートに...
-
ExcelのVBマクロを、バックグラ...
おすすめ情報