• ベストアンサー

Excelの範囲可変グラフ

end-uの回答

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.7

#6補足に対するレスです。 『Excel で名前付け範囲を使用して動的なグラフを作成する』 http://office.microsoft.com/ja-jp/excel/HA011098011041.aspx ▲こちらを参照されると良いです。 『グラフの系列を選択し、Excel の数式バーを確認すると、 その系列が SERIES 関数を使用した数式によって生成されていることがわかります。 SERIES は、このような場合にのみ使用される特殊な関数で、グラフの系列を定義します。』 とあります。 Sub test3()   Dim s As String      With Sheets.Add     s = .Name & "!"     .Range("A1:B4").Value = [{"","name";"a",1;"b",2;"c",3}]     With .ChartObjects.Add(.Range("F1").Left, 0, 500, 300)       .Activate       With .Chart         .HasLegend = True         .ChartType = xlColumnClustered         With .SeriesCollection.NewSeries           .Formula = "=SERIES(" & s & "B1," & s & "A2:A4," & s & "B2:B4,1)"           .Select         End With       End With     End With   End With End Sub これで系列選択状態になりますから、数式バーを見てください。 =SERIES(SheetX!$B$1,SheetX!$A$2:$A$4,SheetX!$B$2:$B$4,1) と表示されているはずです。 手作業で適当なグラフを作成し、系列を選択した場合も同じように表示されます。 つまりグラフの系列の参照元を表しています。 前述ページに SERIES 関数の引数についても説明がありますので確認しておいてください。 =SERIES(凡例の名前,項目軸ラベル,プロット値,プロット順) ...となります。

campus
質問者

お礼

ありがとうございます。 やっとスッキリしました。 SERIESがなにやらグラフ作成に重要な呪文なんだろうとは思ってましたが、 こういう構成だったんですね。。 あと、項目軸ラベルの設定もどうやってやるのか悩んでたことろだったので、 非常に助かりました。 (どこかのサイトで書かれてた構文を作り変えて無理やり突っ込んでましたが..) ちなみに、「#3補足に対するレス」で書かれてた .Formula = "=SERIES(,," & ws.Name & "!data" & i & ",)"  は、 .HasLegend = False だったので、凡例の名前,項目軸ラベルのところが、,, だったんですね。。

関連するQ&A

  • グラフの範囲指定をVBAで可変にしたい

    1シートに複数のグラフがあり、値を入れて完成させているファイルがあります。 データ範囲が毎回違うため、いちいちグラフを選択し、範囲を変更しています。 系列:行 データ範囲:A列から~H列までだったり、A列からJ列までだったりします データがH列までの場合はI列は値が入っていませんが、L列からまた他のグラフのデータ範囲になっているという形です。 データが始まる位置はすべて固定です。 シートにある複数のグラフを一度に変更したいのですが、どのようにしたら良いのでしょうか? (選択しているグラフのグラフ変更ではなく、選択していないものも変更したい) 以下のようなマクロを仮で組んでみたのですが、うまく動きません。 よろしくお願いします。 Sub グラフ範囲変更() Dim lastcolumn As Integer lastcolumn = Range("A2").End(xlToRight).Column ActiveChart.SetSourceData Source:=Range(Cells(1, 1), Cells(1, lastcolumn)) End Sub

  • エクセルのグラフ範囲を毎日かえてグラフをかく

    Sheet1に 列に日にち(A~AEまで31日分) 行には計算したデータがあります。 例) ?月1日ならば A1をグラフ範囲としてグラフを書き、 ?月2日ならば A1からB1をグラフ範囲としてグラフをかく といった感じで毎日 その日までをグラフ範囲として描きたいのですが 毎日毎日自分でグラフ範囲を指定するのは面倒なので 自動的にグラフ範囲を指定したいのです。 わかりにくい文章ですみません どなたか教えて下さいお願いします。

  • Excel関数で列方向データの可変範囲グラフ作成

    こんにちは Excel2010を使用しています 関数にて行方向の可変範囲グラフの作り方サイトを参考にして列方向のデータを可変範囲グラフに しようとしているんですが、うまく作成出来ません。 下記のような列のデータを可変範囲グラフにするにはどうしたらよろしいでしょうか。 A B C D E 1 item a b c d 2 date 1 2 3 4 すみませんが、よろしくお願いいたします。

  • [excel2007]可変範囲のグラフを含むシートのコピーについて

    [excel2007]可変範囲のグラフを含むシートのコピーについて ・やりたいこと 可変範囲を参照するグラフをシート内に作成し、 そのシートを複数コピーして、可変範囲を参照するグラフのまま利用したい。 ・現状 以下のサイトを参考に、可変範囲のグラフをシート内に作成しました。 http://www2.odn.ne.jp/excel/waza/graph.html#SEC13 しかしこのシートをコピーすると、 名前"label","value"は新しいシートに複製されますが、 グラフの参照範囲はその名前でなく、固定値(新しいシートのA2:A5など)になってしまいます。 可変範囲のままシートをコピーしたいです。 (excel2003だと、そもそもコピー前のシートを参照するようですが) ・環境 excel2007 可変範囲のグラフの作成方法は、上記サイトの方法に限定はしていません。 何か良い方法をご存知でしたら、ご教授ください。 よろしくお願いいたします。

  • 自動可変グラフ作成

    おはようございます。  生産実績を下G7に日付け G87に合計を入力し、合計欄には 85行と86行をプラスしております。      G H I J・・・・・・・・ 7月日  3/1 3/2 3/4 3/5 ・・・・・・・・・3/18  ・  ・ 87 実績 100 90 102 103       103 このように実績表を作成し、別のシートに日付け(3/18)をあるセルに入力した場合、グラフ範囲を関数で3/1~3/18日まで期間を抽出させようと関数を調べておりましたら、 http://www2.odn.ne.jp/excel/waza/graph.html#SEC13のサイトに可変グラフ作成が掲載されており、横方向のデータで可変グラフを作成をしようとしましたが、式が複雑すぎてグラフ範囲が設定できませんと表示され3/13日以降の可変グラフが作成されません。  どのようにしたら宜しいのでしょうか?

  • Excelマクロ:折れ線グラフの行範囲を可変

    Excel2010を使用しています。 マクロを記録して折れ線グラフを作ろうとしていますが、マクロを記録出来ないところがあるらしくマクロを実行できません。 マクロを使用するのが初めてで、VBAは勉強中の為、自力での組み立てが出来そうにありません。 どうかお力を貸して頂けないでしょうか。 sheetによって行の数に違いが有る為、行のみを可変範囲設定出来ればと思っています。 1行目に系列が表示しており、2行目からはすべて数字となっています。 A列を横軸の目盛りで表示し、C・D・E列を折れ線グラフで表示し、B・F列はグラフには使用しません。 よろしくお願いします。

  • エクセル 範囲 最後

    エクセルの範囲選択について。 A2からB列の最後までを範囲指定したいです。 グラフのデータ選択のため。 =$A$2:B・・・(中途半端です よろしくお願いいたします。 A B ------------- 1| 54 75 2| -4 6 ・・・・ A2からB列の最後まで

  • EXCELでグラフのデータ範囲を自動化したい

    EXCELについて質問があります。 いまあるデータをグラフ化しようと思っているのですが、グラフのデータ範囲を自動で指定したいのです。 詳しく話しますと、A列に日付データ、B~Fに数値データが入っています。 なお、B~F列には他のシート(同一ファイル)のデータからVLOOKUPによって日付を検索値にて抜き出した数字が入っております。 そして、グラフ化するデータ範囲は一番古い日付から前日までのB~Fのデータになります。また、A列を項目軸ラベルとして使用します。自動化するのはこの、「前日まで」という部分です。 ちなみにA列には、2003年から2008年までの日付が予め入っています。 ですので、B~F列にはVLOOKUPで検索している関係で現在の日付以降の欄には最後に入力された日付のデータが下にずらずらと表示されています。 現在は手動でグラフの範囲の更新をしている為、未来の日付にデータが入っていることには支障はありません。もし、自動化するにあたって他の方法を用いてデータを抜き出した方がよいのであればその点も明記していただけますと助かります。 よろしくお願い致します。 ※データ詳細 ・4行目からデータが入っています。 ・A列には2003年3月31日から1日ずつ日付が入っています。 ・B~F列には数値データが入っており、B列はsheet2に元データがありA列に日付、E列に抜き出すデータが入っています。C列以降もsheet3,4…と元データが入っており、A列に日付がありますが、抜き出すデータはシートごとに列が違います。 ・元データの日付の開始日はシートによって異なります。(全て03/03/31からあるわけではないという意味です。) ・グラフ形式は積み上げ面です。B~Fの合計値の推移を見る為です。

  • エクセルのグラフ範囲を自動にしたい

    エクセルのグラフのデータ範囲が頻繁に変化する計算をしており、 そのたびにデータ範囲を指定し直して大変です。 グラフのデータ範囲を自動で設定できる方法はないでしょうか? マクロでも構いません。 ちなみに、グラフは ・単純な2本の折れ線グラフ ・データはXY値ともに縦に並んでいる。 ・このデータ量が、多くなったり、少なくなったり頻繁に変化する 以上、よろしくお願いいたします。

  • excelのグラフ 範囲可変の複数系列の指定

    Excelである表を元に、グラフを作成します。 元データは、月々データが増え、最新の36件についてグラフを作成します。 そこで、名前の定義で元データの範囲(offsetとCountaを使います)を指定するのですが、系列が8個あります。 各系列を8個の名前で定義すればいいのでしょうが、 元の表のグラフにする「範囲」に名前を定義して、グラフの各系列の参照データを、範囲の名前をつかって、指定することはできませんか? 系列1・・・”名前”の1行目 系列2・・・”名前”の2行目  ・  ・ という指定の方法はできますか? 同じようなグラフを数種類作成するため、1グラフの名前の定義数を減らして、すっきりさせたいのです。 ちなみに、今回は、マクロを利用できません。 よろしくお願いします。