• ベストアンサー

Excel グラフ一括作成

添付画像の通り、同じ様式の表があるシートが複数あります。 中身の値だけシートによって異なります。 各シートのグラフを一括作成する方法はありますか? 自分でVBAを書くことはできませんが、マクロの記録はできます。 なにかテクニックはありませんか?

noname#235185
noname#235185

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

VBA利用が最適でしょう。 以下は、3シートの例で説明します。 Sheet1、Sheet2、Sheet3の3つにシートにセル範囲的に同じ場所にデータがあり、それを対象にグラフを描くとします。 グラフは、データのあるシートに、描くものとします。 Sheet1 A1:C2 a b c 12 23 17 Sheet2 A1:C2 a b c 55 68 53 Sheet3 A1:C2 a b c 34 87 44 ーーー 標準モジュールに Sub test04() For Each sh In Worksheets With sh.Shapes.AddChart.Chart '.ChartType = xlColumnClustered ’棒グラフの一種 .ChartType = xlLine ’折れ線 .SetSourceData Source:=sh.Range("A1:C2") ’対象データ範囲 .Location Where:=xlLocationAsObject, Name:=sh.Name ’データのあるシートに描画 End With Next End Sub ・シート数が増えても変える必要なし。シート名は、どう定義していても関係なし。 ・対象データ範囲は、各シートで、シートの同じ範囲、同じ場所と仮定している。 ・グラフの鵜類の指定は、Googleで、「エクセル VBA 円グラフ」などで照会して、xl・・・を、探してください。列挙体という。 参考 https://www.relief.jp/docs/excel-vba-xlchartype-list.html ・その他のグラフの表現のバラエティは、その操作を手作業でして、マクロの記録を取って、マクロのコード上で、どこにどう表れるか、推定して、VBAのコードに取り入れ、実際実行して、確かめてください。

noname#235185
質問者

お礼

ご回答ありがとうございます。 マクロの記録でコードを勉強してみます。 本当に助かりました。

関連するQ&A

  • 非アクティブシートでのグラフ作成方法について

    VBAを使ってアクティブなっていないシートのセルを参照したグラフを 作成したいと思っているのですが、可能でしょうか? また、軸の最少最大値などのグラフの設定を同様に変更することは可能でしょうか? 例 シート1がアクティブになっているときに、 シート2のA1~B5のデータでグラフを作成する。 この時、シート2をアクティブにせずにグラフを作成したい。 さらにシート2をアクティブにせずにグラフの書式等を設定したい。 アクティブになっているシートでグラフを作成するのは マクロで記録した物をいじくれば問題なく作れると思いますが、 グラフを複数のシートで作成する必要があり、 画面が一々切り替わるのはちょっと・・・と思い、 できればボタンを押して別のシートに移らずにグラフを作成したいのです。

  • エクセル2013でグラフを作成したいのですが・・

    エクセルでまとめたデータをグラフ化したいのですが、うまくいきません。 月ごとに複数項目あるものを一つのグラフでまとめられないでしょうか。 希望としては積み上げグラフでまとめたいのですが、初心者ですのでもっと効率がいいグラフ形式があれば教えていただきたいです。 添付した画像とほぼ同じ様式なのですが、事業所・雇用区分ごとに月別の3項目をまとめたいと思っています。 どうぞよろしくお願いします。

  • Excelのグラフを動的に作成したい。

    Excelのバージョン:2002 Excelのグラフ機能を使ってグラフを作成しており、「名前の定義」を利用して ドロップダウンリストの中身でグラフが変化するところまでは出来たのですが 本来の目的が上手く行きません。 以下に、自身で作成した変化するグラフの手法を書きます。 0:項目軸と値にそれぞれA~Eまでの5種類のパターンがあるデータを用意。 1:項目軸A~Eまでのデータ範囲にそれぞれ「項目軸A」、「項目軸B」…… と名前の定義をする。 2:値A~Eまでのデータ範囲にそれぞれ「値A」、「値B」…… と名前の定義をする。 3:A1セルにA~Eまでのドロップダウンリストを作成する。 4:「名前の定義」から「sheet1!項目軸(シート固有)」という名前で参照範囲に「=INDIRECT("項目軸"&sheet1!$A$1)」と入力する。 5:「名前の定義」から「sheet1!値(シート固有)」という名前で参照範囲に「=INDIRECT("値"&sheet1!$A$1)」と入力する。 6:グラフツールを使って棒グラフを作成。 グラフの「元のデータ」にて、「系列」タブを開いて系列を追加。  値に「sheet1!値」、項目軸ラベルに「sheet1!項目軸」を入力してグラフを作成。 7:ドロップダウンを変化させると、ドロップダウンの表示に対応したグラフが表示される。 本来の目的は、 3のA1セルに自身のシート名を取得する式を記入して、このシートを複数作成し、 シート名をA、B、……と変更する事によって、自動的にグラフが変化していく物を作りたいのですが シートを複製した途端、グラフの「項目軸」と「値」に{100,200,……}と言った形で実際の値がコピーされてしまいます。 なんとか上手く作成する方法はありますでしょうか? ご教授の程、よろしくお願い致します。

  • Excelでの複数のシート間のグラフ作成

    Excel2002及び2003で複数のシートでグラフ作成の仕方を教えていただけないでしょうか。 例えば、Sheet1の表とSheet2の表のデータを基にSheet3にグラフを作成したいのです。 確かに、Sheet3にSheet1とSheet2のグラフをまとめた表を作成すれば、簡単にできるのですが、 データ量が多いためにまとめるのが困難です。 また、応用として、ブック間のデータを基にグラフを 作成できるのでしょうか。 よろしくお願いします。

  • エクセルのグラフ作成に関して質問です。

    エクセルのグラフ作成に関して質問です。 エクセルで添付した画像のグラフを作成しました。 要望として、用紙1枚にデータ(数値)とグラフを入れるようにしました。 その為、データを折り返しています。 グラフを作成する上でグラフ上にある折り返したデータでは、グラフを作成することが出来ませんでした。 別シートに折り返しをしていないデータを別途作成し、そのデータを元にグラフを作成しています。 希望は叶えられているのですがすっきり出来ません。 グラフ上にある折り返しをしているデータだけで、グラフを作成することか可能でしょうか、出来るのであれば教えて頂きたいと思います。 希望は、添付した画像にこだわりません。 ただしデータも見やすく、グラフも入れてもシート1枚で完了し、印刷した際用紙一枚に全て収まるようにしたい。 前の質問に画像を入れる忘れました。改めて質問します。

  • エクセルのグラフ作成に関して質問です。

    エクセルのグラフ作成に関して質問です。 エクセルで添付した画像のグラフを作成しました。 要望として、用紙1枚にデータ(数値)とグラフを入れるようにしました。 その為、データを折り返しています。 グラフを作成する上でグラフ上にある折り返したデータでは、グラフを作成することが出来ませんでした。 別シートに折り返しをしていないデータを別途作成し、そのデータを元にグラフを作成しています。 希望は叶えられているのですがすっきり出来ません。 グラフ上にある折り返しをしているデータだけで、グラフを作成することか可能でしょうか、出来るのであれば教えて頂きたいと思います。 希望は、添付した画像にこだわりません。 ただしデータも見やすく、グラフも入れてもシート1枚で完了し、印刷した際用紙一枚に全て収まるようにしたい。

  • Excel 複数のシートからグラフを作成するには?

    一つのExcelファイルに [シートA]には値が1~100 [シートB]には値が101~200 上記二つのシートがあります。 そこに新しく[シートC]を作成し、 二つのシートから1~200までの 値を取得して一つのグラフファイルを作成したいのですが どういう方法を用いればいいのでしょうか? 値の範囲指定で+や&の連結記号を使ってもエラーが出る状態です 検索で複数シートからグラフを作成する方法も探したのですが うまくいかなかったため、こちらで質問させていただきました。

  • excel グラフ作成

    調べても分からなかった為、教えてください。   1月  2月  3月  4月 A 100  130  110  100 B  5   5   8   6 C  3   4   7   5 上記の表から、グラフを作成する際に、Aの行は棒グラフで、 B行+C行の値を折れ線グラフで(B+Cの値は表には出力しません)作成することはできますでしょうか? ※表にない値を(B+C)、グラフで表示できるのでしょうか?

  • シートの保護、グラフ作成

    お世話になります。 Excelでアンケートの集計をしています。 別のシートに集計データを参照しました。そこにマクロの記録で、グラフを作成するマクロを作成しました。また、このマクロを登録したボタンを配置しています。 このシートに、「シートの保護」を設定しました。 その後、マクロボタンをクリックすると別添のメッセージが表示され、グラフは作成できません。 確かに、「挿入」タブのリボンは、グレーアウトしています。 「シートの保護」を設定した後も、ボタンからグラフを作成する方法はないでしょうか。 よろしくお願いします。 エラーメッセージ 「実行時エラー”1004”」 「指定された値は境界を超えています。」 OS: Windows 7 professional SP-1 32Bit Office: 2010 Professional 32Bit

  • エクセルグラフの軸ラベルを一括変換出来なくて困っています。

    お世話になります。 初めて投稿いたします。 VBA初心者です。エクセルグラフの軸ラベルを一括変換したいのですが、分からなくて困っています。 過去ログ、個人HPなどを参考にして、一つのグラフを選択、下記マクロを実行すれば、一つのグラフのみなら軸ラベルを変更する事が出来たのですが、ワークシート内の複数の埋め込みグラフを一発でラベル変更する場合のマクロが作成できません。 当方会社員、データをまとめる為、今回100ヶほどのグラフを一括変換したいため、どうしてもマクロ処理したいと考えています。 For Each・・・Next でループさせたいのですが、何分初心者勉強中の為、エラー多発、何方かお分かりの方、お助け下さい。 Sub 軸ラベル一括変換() With ActiveChart With .Axes(xlCategory, xlPrimary) .HasTitle = True .AxisTitle.Text = "X" End With With .Axes(xlValue, xlPrimary) .HasTitle = True .AxisTitle.Text = "y" End With End With End Sub

専門家に質問してみよう