エクセルのグラフマクロについて質問します。
系列のxの値(Yの値も)の設定で、
グラフ化したいワークシートと範囲を変数にすることはできますか?
目的は、複数あるシートの複数のセルをグラフ化したい、というものです。
変数にてシート名と範囲を指定したいです。
↓のようなプログラムを作成してみましたが、どうもうまく動きません。
12行目で止まってしまいます。
13行目はでたらめですが、範囲も変数bにできないかなぁと、勝手にイメージで作ってみました。
Sub ()
n = Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To n
Sheets("SHEET1").Select
Range("A" & i).Select
a = ActiveCell.Value
Sheets(a).Select
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets(a).Range("V22")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=sheets(a)!R2C4:R5C4"
ActiveChart.SeriesCollection(1).Values = "=sheets(a)!range(b)"
ActiveChart.Location Where:=xlLocationAsObject, Name:=Sheets(a)
Next i
End Sub
当方、マクロかじりたての初心者です。
どなたか、よろしくおねがいします!
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
実効時エラー1004
アプリケーション定義またはオブジェクト定義のエラーです
かな?
式が違うようです。
='シート名'!セル範囲 の形式なら
"='" + a + "'!R2C4:R5C4"
でいいはず。
No.1
- 回答日時:
>ActiveChart.SeriesCollection(1).XValues = "=sheets(a)!R2C4:R5C4"
この1行についてだけですが
"=sheets(a)!R2C4:R5C4" はひとかたまりの文字列です。
a が文字型の変数なら
"=sheets(" + a + ")!R2C4:R5C4"
で変数対応の文字列になるはずです。
早々の返答ありがとうございました。
このような指令文があったのですね。
さっそく"=sheets(" + a + ")!R2C4:R5C4"に入れ換えて動かしてみました。
がしかし、同じところで止まってしまいます。。
もう少し詳しく説明しますと、
sheet1のA2セルに”赤”と入力し、変数aとしています。
そして、”赤”という名のシートにデータが入っていて、それをグラフ化
したいと考えています。
何か、根本的にミスをしてるのでしょうか・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) 列の最終行に新たに入力されたらその値を自動参照 1 2023/01/21 09:59
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) 最終行の指定について教えてください。 複数シートを1シートへまとめる下記マクロでは各シートの6行目を 1 2022/10/04 18:37
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルのグラフのデータ系列の順序をVBAで変更する
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
グラフの範囲指定をVBAで可変にしたい
その他(Microsoft Office)
-
-
4
Excelに埋め込んだVBAのプログラムが消えた。
その他(Microsoft Office)
-
5
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
6
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
7
EXCELでコピーしたグラフのデータ範囲変更について
Excel(エクセル)
-
8
VBA グラフの存在の判定について
Visual Basic(VBA)
-
9
【ExcelVBA】SeriesCollectionのXValuesについて
Visual Basic(VBA)
-
10
ExcelVBA:複数の特定のグラフを選択する方法
Visual Basic(VBA)
-
11
エクセルVBAで埋め込みグラフ(ChartObjects)のアクティブ
Visual Basic(VBA)
-
12
パワーポイントVBAでグラフのサイズ・位置を統一
PowerPoint(パワーポイント)
-
13
VBA(excel)でグラフのデータ範囲の取得
その他(Microsoft Office)
-
14
Excel2010のinputboxで複数データ一括入力について
Visual Basic(VBA)
関連するカテゴリから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マクロを、バックグラ...
おすすめ情報