• ベストアンサー

EXCEL2010 VBA グラフの作成

EXCEL2010のVBAで自動でグラフを作成するコードを作成したいと思っています。 シート1のA1:A10にデータが入っていて、ボタンを押すとコードが実行されて A1:A5までが系列1 A6:A10までが系列2 として表示される折れ線グラフを作成しようと思っています。 さらに作成したグラフは新規にシートを作成して作成したシートに表示させたいと思います。 このような処理を行いたいのですがVBAを始めたばかりなのでグラフの作成くらいしかまだ 分かっていません。 どなたかこの処理を実現できる良い方法を教えてください。よろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

標準モジュールに下記を記す sub macro1()  dim c as chart  worksheets.add  set c = activesheet.shapes.addchart.chart  c.charttype = xllinemarkers  c.seriescollection.add worksheets("Sheet1").range("A1:A5")  c.seriescollection.add worksheets("Sheet1").range("A6:A10") end sub シート1にオートシェイプの図形を配置し,ボタンに仕立て,右クリックしてマクロの登録で用意のマクロを登録する。

Not_Pro
質問者

お礼

回答ありがとうございます。 無事に作成できました。

関連するQ&A

  • EXCEL2010 VBA 複数の条件のグラフ

    EXCEL2010のVBAでグラフを作成するコードを作成しています。 そのグラフでは指定した値で系列の数が変わります。 初期設定シートで指定値1と2を確認して指定値1が系列の数、指定値2がデータ範囲となります。 データ範囲はB列のB1から指定値2の数だけ下に増えます。 Sheet1にグラフを新規作成します。 (例) 指定値(A1):1の時 指定値(A2):20 グラフに表示される系列:(B1:B20) (例2) 指定値(A1):2の時 指定値(A2):20 グラフに表示される系列:(B1:B20)と(B21:B40) 説明が分かり辛いかもしれませんがよろしくお願いします。

  • excel2010 VBA グラフの目盛の変更

    EXCEL2010のVBAでグラフを作成するコードを作成しております。 コードを実行すると入力シートの値を読み込み、別シートにグラフを複数作成します。 入力シートは最初はデータが入っておらず後から入力します。入力されたデータが反映されて グラフに値が表示されるのですが、目盛は0~値の最高値の少し上くらいまでが表示されます。 これを値が入力シートに入力されてグラフに反映されたら、目盛を表示された値の周辺のみに自動で変更したいのですが何か方法はないでしょうか? (例) データの最小値380       最大値400 目盛を370~410くらいにする

  • EXCEL2010 VBA シートモジュール

    EXCEL2010でVBAを使用しています。 シートモジュールを使用して特定のシートがアクティブになるとコードが実行されるようにしたいのですが、問題が一点ありまして。 特定のシートは別のコマンドを使用したときに作成されるので最初からあるシートではありません。 なのでシートモジュールにコードを入力しておくことができません。 処理の流れ 1.シートAでコマンドボタンをクリック 2.コードが実行されてシートB(特定のシート)・シートC~シートFを作成 シートが作成されると同時にシートモジュールに決められたコードを自動で入力するというような 方法はないでしょうか?

  • VBAでGANTのグラフを作成したい

    office365 ①GANT_DATAシートに計画と実績のGANTデータ ②GANTシートにガントのグラフを表示 したいです。 ①を元に②のグラフを自動で作成したい ガント表示させる構成は kotei1からkotei6までの計画開始計画終了実績開始実績終了の日時データがあり、Serial1からSerial2,Serial3とGANT_DATAのA列でデータがなくなるまでのガントグラフを表示。 Serialは+30行毎に計画と実績データをデータベースから持ってくる構成。 現状は、GANTシートにひな形としてのグラフを用意しておき、 データ範囲等を1ケ1ケグラフへ反映させてガントのグラフを表示させています。 下記のイメージです。 GANTシートでのSerial1のグラフは グラフデータの範囲:=GANT_DATA!$A$9:$C$20 系列1の系列値:=GANT_DATA!$B$9:$B$20 系列2の系列値:=GANT_DATA!$C$9:$C$20 軸ラベルの範囲:=GANT_DATA!$A$9:$A$20 GANTシートでのSerial2のグラフは グラフデータの範囲:=GANT_DATA!$A$39:$C$50 系列1の系列値:=GANT_DATA!$B$39:$B$50 系列2の系列値:=GANT_DATA!$C$39:$C$50 軸ラベルの範囲:=GANT_DATA!$A$39:$A$50 の様にガントシートのデータ範囲を設定しておき、 GANT_DATAへデータをデータベースから持ってきたらガントのグラフが表示できる構成にしているのですが、グラフの数が増えると上記データ範囲の設定をするのも大変なので、①のシートから②のガントグラフを自動で作成できる様にしたいです。 VBAベタで教えていただきたくよろしくお願いします。 グラフの軸設定はなんとかなると思うので、根本のグラフ表示部分を作成する構成を教えていただけたらと思います ※ GANTグラフには工程間に細く青い線をしきりで入れてます。 これも実現化であれば教えていただきたく。 現状は実線をグラフへコピペで貼り付けています。

  • EXCEL2010 VBA グラフの系列の追加

    EXCEL2010でVBAを使用してグラフを作成しています。 系列の追加まではできているのですが系列名が系列と離れているのでどのように設定しようか悩んでいます。 A1:系列名  A3からA10:系列に使用するデータ というような感じです。 通常は系列名とデータが連なっているのでまとめて範囲選択すればよいと思うのですが。。。 系列名と系列に使用するデータが離れていた場合はどのようなコードにすればよいのでしょうか? どなたかご教示お願いします。

  • Excel2007:グラフについて

    Excelでグラフを作ったのですが、 数値のところだけを選択してグラフを作ると、 折れ線グラフなら、折れ線の名前が、それぞれ「系列1」「系列2」・・・といったように表示されてしまいます。 この「系列1」といった表示を、別の言葉に置き換えたいのですが、方法はあるのでしょうか?? また、軸の数値も、選択されていなければ「1,2,3、・・・」と自動的になるのですが、 その数値も「10、20、30、・・・」といったように変更したいです。 なにか方法があれば教えていただきたいです。 回答よろしくお願いします。

  • VBAでのグラフ作成について質問です。

    VBAでのグラフ作成について質問です。 Sheet1のA2:A10にx軸の値、Sheet1のD2:D10にy軸の値を設定した折れ線付き散布図を作成したいと思い、以下のようなマクロを組みました。 Sub Test() Dim chart1 As Chart Set chart1 = Charts.Add chart1.SetSourceData Worksheets("Sheet1").Range("A2:A10, D2:D10") chart1.ChartType = xlXYScatterLines End Sub 実行してみると、x軸に設定したセルがy軸の値になってしまい、 xの値が空欄の2つの折れ線グラフが現れてしまいます。 A2:A10をx軸の値に、D2:D10をy軸の値にしてグラフを作成するには上記のマクロをどのように変更すればよいのでしょうか?

  • Excel2002 について教えて下さい(グラフ

    Excel2002で、シート全体をグラフ領域として作成しました ここにコントロールツールボックスのボタンを置きたいのですが ボタンが使用不可の状態です グラフ上にはコントロールを置けないのですか 方法があったら教えてください また、コントロールでなくてもいいのですが ボタンのようにVBAを起動できる方法があったら教えてください

  • Excel2007の折れ線グラフで、すべての線の色・太さを変える方法を教えてください

    Excel2007の折れ線グラフで、グラフの作成をしたときに自動で決まってしまいますよね? 系列が大変多く、いちいち一つ一つ変える方法しか知らないため困っております。線の色・太さを一気に変える方法を教えてください。 よろしくお願いします。

  • EXCEL折れ線グラフの線を一気に消したい

    EXCEL2003で折れ線グラフを作成しました。 グラフ上に折れ線が22本(系列が22)あります。 データ系列の書式設定で「線」を「なし」、「マーカー」を「●」にしたいです。 系列を1つ1つ選択して変更するのではなく、一気に変更する方法はありませんでしょうか?

専門家に質問してみよう