EXCEL2010 VBAでグラフに規定値を表示する方法

このQ&Aのポイント
  • EXCEL2010のVBAを使用して、折線グラフにセルD1の規定値を表示したい場合、一つしかないデータで複数行範囲指定したような方法があります。
  • 具体的な手順を以下に示します。 1. グラフを作成し、範囲を指定します。 2. グラフのデータシリーズを編集し、規定値を追加します。 3. 規定値のデータポイントを選択し、ラベルを表示します。
  • これにより、折線グラフのA1からA10の部分にセルD1の規定値を表示することができます。
回答を見る
  • ベストアンサー

EXCEL2010 VBA 一つの項目で全て表示

EXCEL2010のVBAでグラフを作成しています。 シートAに規定値があります。(セルD1) シートA1:A10の売上データを範囲指定して作成した 折線グラフに規定値の値を表示したいと思います。 規定値はセルD1にしか入力されていませんがこれをグラフのA1からA10の部分まで表示させたいと思っています。 一つしかないデータで複数行範囲指定したような風にできないかということです。 説明が下手で分かり辛いですがどなたか良い方法をご教示お願いします。 (例 折線グラフ)         ┃  ___             ┃/   \_/  ←売上データ         ┃______  ←規定値         ┃         ┗━━━━━━━          A1   ~  A10

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

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

仮に1系列あたりデータ「10」個の折れ線グラフを描いているとします。 グラフを選択 データの選択で新しい系列を追加 系列値欄に =Sheet1!$D$1,Sheet1!$D$1 のように記入しOKします 要素2個の短い折れ線グラフが追加されるので,右クリックして「近似曲線を追加」 線形近似を選択, 前方補外を 8.5 区間 (=「10」-2+0.5) 後方補外を 0.5 区間 とします 要素2個の短い折れ線グラフのデータ系列の書式設定で,線を無し,マーカを無しにします 以上でD1の値の高さに線が一本引けるので,新しいマクロの記録で手順をマクロに録り,記録されたマクロの記載内容を参考にして今のマクロに組み込んでみて下さい。

Not_Pro
質問者

お礼

回答ありがとうございます。 そのような方法があるとは知りませんでした。 ありがとうございました

関連するQ&A

  • EXCEL2010 VBA グラフの作成

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

  • 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) 説明が分かり辛いかもしれませんがよろしくお願いします。

  • VBAで散布図(グラフ)の作成

    VBAでセルの値を読み込み散布図である折れ線グラフを作成しました。しかし、x軸に指定したい列も折れ線(xlScatterLines)で表示されてしまい思い通りになりません。どのようなキーワードでx軸を指定できるのでしょうか?ちなみに、そのグラフの[元のデータ]を参照するとやはりx軸の項目が空欄になっています。

  • Excel2010で分断された折れ線グラフをかく

    Excel2010を使って、時系列データから折れ線グラフを作成しています。 時系列データの元データ用テーブルがあり、そのテーブルのデータは毎日変動します。 それを元データとして、グラフ表示用のテーブルを作成しています。 ある条件の時だけ折れ線グラフを表示したくて(ようするに途中のいくつかの区間で 分断された折れ線グラフを表示したい)、表示用テーブルの折れ線グラフ用データ の各セルには (1) if( セル2>セル1, セル2,"") か (2) if( セル2>セル1, セル2,NA()) という式を入れています。 (1)のケースだと、常にY軸の0にグラフの線が接続され、上下が連続された折れ線 グラフになってしまいます。 (2)のケースだと最後の#N/Aデータの区間はグラフが表示されないのですが、 途中の#N/Aデータの区間は、補完されて連続したグラフ表示になってしまいます。 (分断されない) 表示用のセルを式もデータも入れない、何も設定されていない状態にすれば、 意図したように分断された折れ線グラフになります。 分断したい箇所は、その都度変動しますので、いつも手動でセルの内容を 消去するわけにはいかないので、うまい方法があればどなたかアドバイスを お願いします。 Excel2003では 「メニューの[ツール]→[オプション]の[グラフ]タブで、「空白セルのプロット」の プロット方法を指定するときに、「プロットしない」を選択する」 とすると意図したグラフが表示されたのですが、2010でどう設定すればいいのか わかりません。

  • VBAで非表示のセルに数字が入ると自動で表示できますか?

    お世話になります。 皆さんのお知恵をお借りしたく質問させていただきます。 タイトルのとおりなのですが、 例えば月ごとの売り上げ個数を表示させるために同シートの他のセルに範囲指定することで、関数で別シートの売り上げ個数が計算され表示されるようになっております。下の表だと1~3月までが入力してあり、次に4月までを範囲指定することで、4月の値が入った表を表示させたいのですが、エクセルで列D、Eが非表示されているとした場合、4月のデータがD列に入るとマクロを起動させることで自動表示(値が入った列のみ)してくれるVBAってありますか? よろしくお願いします。    A    B       C   F   G   1 1月  2月     3月 2  20   30    40 3   10   20     30 4 これを、    A    B       C    D   F   G   1 1月  2月    3月   4月 2  20   30    40     50 3   10   20    30    40 4 このようにしたいです。

  • VBA(excel)でグラフのデータ範囲の取得

    excel2010の VBA利用者です。 グラフが書いてあって(種類は3D等高線グラフ)、 その元になるデータ範囲は 例えば ActiveChart.SetSourceData Source:=Range("Sheet1!$A$1:$D$10") のようにすれば、シート1のRange("A1:D10")の範囲が設定できます。  では、  これの 逆に 設定でなくて、取得が出来ませんでしょうか?  つまり 上記の場合でしたら、範囲"A1:D10"を取得して、変数に代入したいのです。 もし、範囲としての取得が難しいならば、最低限 グラフの現在のデータ範囲の矩形範囲の縦横の、行数、列数の 取得だけでもなんとかしたいのですが、 何か方法はないでしょうか? 縦横数百セルの大き目の範囲を相手にしたいので、 Formulaプロパティで系列ごとに取得していく方法では煩雑になるので 何とかもっと 簡便な方法が無いものかと思っております 御教授のほど、よろしくお願いいたします。

  • Excel2010 グラフ横軸の設定

    Excel2010のグラフについて、下記のようなデータのグラフを作成しています。 A列:日付(平日のみ) B列:売上 この売り上げの推移を折れ線グラフで表示しているのですが、 日付が横軸となるよう範囲を選択すると、なぜか土日まで項目に出てきてしまい、 土日の売上は当然データがないため、不自然なグラフになってしまっています。 平日のデータのみをグラフに表示させる方法をご存知の方いましたらご教示ください。 よろしくお願いします。

  • EXCEL折れ線グラフについて

    エクセルの折れ線グラフでの質問です。 Sheet1 支店ごとの目標売上数の表 A支店   100個 B支店  1500個 C支店   450個 Sheet2~ 支店ごとの毎日の売上の表と折れ線グラフ 例:Sheet2(A支店) 1日(月) 100個 2日(火) 130個 3日(水)  80個 4日(木) 120個  ・  ・  ・  Sheet2以降の折れ線グラフに、各支店の目標売上数を赤線で直線をひいて、その値を赤字で表したいです。 私が考える範囲ではそれぞれのシートにそれぞれの目標値をコピーし、31日分同じ数値を入れて折れ線グラフに直線をたす方法しかわかりません。何か他にいい案はありませんか? また、それぞれの目標数はワードアートで表示するしかないでしょうか? わかりにくい文章になってしまいましたが、宜しくお願いします。

  • VBAについてどなたか詳しく教えてください!!

    VBA グラフに関しての質問です。まだまだ勉強不足で分からないことがあります。お力をお貸しください。 VBAでグラフを作成しています。ブック内のワークシートすべてにグラフを表示させたいのですが・・・すべてのシートには元データが入っています。範囲指定がよくわかりません。いろいろなサイトを見て参考にしてみたのですが、このコードで実行させると 全てのワークシートにグラフが表示されるのですが、範囲指定がうまくできないという事と、グラフの大きさがそれぞれバラバラで統一されていません。範囲指定はY軸の指定が”A11:A58”X軸が”D11:G58”です。どこをどのように変えればよろしいのでしょうか?? Const MYRNG As String = "a11:g58" 'データ範囲 For Each ws In ActiveWorkbook.Worksheets Charts.Add With ActiveChart .ChartType = xlXYScatterLines .SetSourceData Source:=ws.Range(MYRNG), _ PlotBy:=xlColumns .Location Where:=xlLocationAsObject, Name:=ws.Name End With With ActiveChart.PlotArea '仕切りなおし With .Border .ColorIndex = 16 .Weight = xlThin .LineStyle = xlContinuous End With .Interior.ColorIndex = xlNone End With Next ws End Sub 私のような初心者に優しく詳しく教えてくださる方お待ちしています。質問内容もわかりにくいかもしれませんので、もし教えてくださるなら 補足入れさせていただきます。どうぞよろしくお願い致します。

  • 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軸の値にしてグラフを作成するには上記のマクロをどのように変更すればよいのでしょうか?

専門家に質問してみよう