Excelマクロでグラフを作成したいのですが、以下(1)のように書いたら、Grp1.Chart.SetSourceData・・・のところでエラーになってしまいました。そこで、Rangeのところを(2)の様に変更したら、うまくいきました。ただ、自分としては、(1)のようにRangeの中にCellsを使う書き方でやりたいのですが、そのようにはできないでしょうか。
なお、マクロ初心者なので、簡単な表現でお願いします。
(1)
Sub グラフ挿入_Macro()
Set Grp1 = Sheets("グラフ1").ChartObjects.Add(10, 10, 500, 200)
Grp1.Chart.SetSourceData _
Source:=Sheets("データ").Range(Cells(3, 1), Cells(10, 2)), _
PlotBy:=xlColumns
End Sub
(2)
Sub グラフ挿入_Macro()
Set Grp1 = Sheets("グラフ1").ChartObjects.Add(10, 10, 500, 200)
Grp1.Chart.SetSourceData _
Source:=Sheets("データ").Range("A3:B10"), _
PlotBy:=xlColumns
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは。
maruru01です。エラーの内容がよく分からないのですが、おそらくCellsプロパティにはシート名を付けないといけないのではないかと思います。
よって
With Sheets("データ")
Grp1.Chart.SetSourceData _
Source:=.Range(.Cells(3, 1), Cells(10, 2)), _
PlotBy:=xlColumns
End With
になると思います。
では。
ご回答ありがとうございます。早速試してみました。
そのまま置き換えてみたら、うまく元データを取得できなかったようですが、
「With Sheets("データ")」の前に「Sheets("データ").Select」という一文を入れてみたらうまくいきました。
ただ、ひとつ疑問があるのですが、With~というのは、Withの後のオブジェクトを操作するときに使うという認識だったのですが、今回ご回答頂いた使い方はそのような使い方ではないように思えます。With~というのはどのように理解すれば良いのでしょうか。
ちなみに、私が今まで思っていた使い方は・・・
With Worksheets("Sheet1").Range("A1")
.Font.ColorIndex=3
End With
などです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Excel(エクセル) excel ピポットテーブルの更新について 1 2022/05/13 16:12
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:07
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAに詳しい方教えてください。
-
【ExcelVBA】クエリの更新とピ...
-
Powerpointでランダムな数字の...
-
cellsで特定の離れた範囲を選択...
-
エクセルでツールバーに「縮小...
-
Pictures.Insertメソッド⇒Shape...
-
エクセルワークシート上に印刷...
-
どのドキュメントは暗号化され...
-
VBからPowerPointのマクロを実...
-
ファイル名を今日の日付、時刻...
-
エクセルVBA 図形に設定された...
-
複数のデータ系列の線の太さを...
-
書式のコピー・貼り付けのショ...
-
複数のグラフを整列させて表示...
-
VBAでのオートシェイプの整列機...
-
VBAでグラフXj軸の文字列を左90...
-
ワードで選択範囲だけの改行を...
-
dreamweaver5の「コマンド-記...
-
【マクロ】その時、その時で変...
-
フォルダ内の全ブックのシート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
VBAに詳しい方教えてください。
-
ファイル名を今日の日付、時刻...
-
cellsで特定の離れた範囲を選択...
-
エクセルシートをまとめて印刷...
-
VBA[Private Sub]のコードをシ...
-
Powerpointでランダムな数字の...
-
【ExcelVBA】クエリの更新とピ...
-
エクセル2007 テキストボ...
-
別ブックからユーザーフォーム...
-
エクセルのマクロでSelection.S...
-
Pictures.Insertメソッド⇒Shape...
-
ピボットグラフの書式の固定に...
-
どのドキュメントは暗号化され...
-
エクセルVBAで、画像の倍率を知...
-
最初の1回のみにボタンクリッ...
-
エクセルワークシート上に印刷...
-
VBAを使ってエクセルシート...
-
wordのマクロで縮小して貼り付...
おすすめ情報