• ベストアンサー

Excwlグラフの元データの参照関数

imogasiの回答

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

この質問に答えるには、力不足を感じますが >値を取得する関数等がありましたら エクセルVBAのWorksheetFunction関数は、配列を返す少数のものを除き、値を1つしか返しません。本件とは相容れません。VBとの共通の関数がありますが(例Mid関数)ここまで細部のことに関する関数はありません。 むしろ言うなら、プロパティと言うべきでしょう。 >「元のデータ」のデータ範囲 ActiveChart.SetSourceData Source:・・でセットするエリアを捉えたいのでしょうが 例えば(架空例)ActiveChart.SourceData ActiveChart.Source などと言ったものがあると良いのですが、色々探しましたが無い様です。 >系列の名前や値は取れるのですが 既にそういうレベルの方なら、ご存知の方法かも知れませんが Sub test02() n = ActiveChart.SeriesCollection.Count For i = 1 To n a = ActiveChart.SeriesCollection(i).Values For j = 1 To UBound(a) MsgBox a(j) Next j Next i End Sub のようなものに行き着きました。参考になりませんか。 そもそも ActiveChart.SetSourceData Source:=・・・ を行ったと同じモジュール内なら、それを変数に覚えていて、あとのコードのステップで使えば良いように思ったりしました。

4jigenn_pokke
質問者

お礼

調査していただきまして、 おかげさまで無事完成いたしました。 わざわざ調べていただきまして、 本当にありがとうございました。 すぐにお返事すればよかったのですが バタバタしてしまっておりまして。 本当に助かりました。

関連するQ&A

  • VBAにてExcelでグラフ元データの範囲を取得する関数は?

    VBAでExcelのグラフの「元のデータ」のデータ範囲の 値を取得する関数等がありましたら教えていただけな いでしょうか。 系列の名前や値はこんな形で取れるのですが。。 Set work = Tg_Sheet.ChartObjects(i) AreaStr = work.Chart.SeriesCollection.Item(1).Formula Set work = Nothing 以上よろしくお願いいたします。

  • Excelのグラフ、データ範囲にて

    只今Excelのグラフを使っているのですが、問題があります。 グラフのデータ範囲を可変にしたいと思っています。 グラフの基となるデータは以下のようになります。       |  1 |  2 |  3 |  4 ----------------------------------------------- 9/11~9/17 |    | 10 | 30 | 40 9/18~9/25 | 20 |    |    | 50 9/26~10/2 |    |    | 40 | 20 系列を1、2、3、4とします。 グラフの値は全て埋まるとは限りません。 全て空白もあれば、飛び飛びに値が入っていることもあります。 日付の方はこれ以上項目は触れることはないですが、系列の方はデータが増えることがもあれば、減ることもあります。 以上のような機能を網羅するようなグラフを作りたいのですが、どのようにしたら良いでしょうか?? この機能をつける為にマクロを使用しても使用しなくても構いません。 宜しくお願いします。

  • ExcelからPowerPointグラフのデータ範囲を変更

    PowerPointにEXCELのグラフをリンク貼り付けしました。 データは日々増えていきますので、名前を定義し、データ範囲に設定したのですが、 EXCELのデータを更新しても、PowerPointのグラフに反映されません。 そこで、Excel(VBA)からPowerPointのグラフを操作して、グラフのデータ範囲を 変更しようと思います。 VBAでPowerPointのグラフを取得することはできたのですが、データ範囲の 変更の仕方がわかりません。 ご存知の方よろしくお願いいたします。 WindowsXP Excel2007・PowerPoint2007

  • EXCELでグラフの元データを相対参照にしたい

    色々調べたのですが自力解決できないため質問させていただきます。 EXCELで同一book sheet 内でページ割り当てをし1ページ目から順に1月、2月と12ページまで作り1ページ目に表とその表を元データにしたグラフを作りました。 因みに表の中のデータは別シートで計算したものを参照(相対・絶対の混在)しています。1ページ目を丸ごと(元データの表もグラフも)コピー&ペーストで2ページ目を作るのですが、2ページ目のグラフの元データがどうしても絶対参照になってしまい困っています。勿論、新しくデータ範囲を指定したりすれば良いのでしょうが、系列やその他のグラフオプションが複雑なためその都度膨大な時間を消費してしまいます(12ページだけではなくもっとページも増やしたいのです)。上記のような状況で「元データである表とグラフを含めてコピペする時又は作成時にグラフ元データを相対参照にする」方法はありますか?宜しくお願いします。

  • Excel : グラフの「元のデータ」の「データ範囲」での関数使用

    グラフを毎月、現在の月までのデータ範囲に変えたいと思っています。グラフの「元のデータ」の「データ範囲」にOFFSETとTODAYを組み合わせて入力しましたが、もう一度開くと数式が消えていました。「データ範囲」では、関数は使えないのでしょうか。またこれを実現するには、マクロを使うしかないのでしょうか。

  • [Excel] 値のない範囲を参照するグラフを値がある範囲を参照するようにする

    お答え願います。 Excelのグラフで何も値が入力されていないセルを参照する系列を挿入したとします。 この際、凡例は表示されますが、グラフ上に線は表示されないのはわかります。 ここから値が入力されているセルに参照先を変えるには、 [グラフ上で右クリック]→[元のデータ]→[系列]→Yの値の参照セル範囲を変更するとできるんですが、これをマクロで行う方法はありますか? 試したところ、Yの値を変えるにはSeriesCollection(x)をアクティブにしないといけない気がするんですが、グラフ上に線が表示されていないせいか、エラーになってしまいます。 大雑把な質問ですが、足りない点がありましたら補足しますので、どうかご教授願います。

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

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

  • エクセルVBAでコピーしたグラフについて

    別シートからグラフをコピーして新シートにはりつけました 元データの範囲を1行下を参照するようにマクロで作成したいのですが。。。 =SERIES(系列名,Xの値,Yの値,系列番号) の系列名とYの値を一行下の範囲を参照したいのです。 グラフから下のようにデーター範囲を取得し、一行下の行のデータ範囲に変えてグラフを変更したいです。  ActiveChart.SeriesCollection(1).Formula = _ "=SERIES(元データ!$B$19,元データ!$C$3:$DI$3,元データ!$C19:$DI19,1)"                     ↓ このようにしたいのですが1回ごとに19を20に打ち直さずにマクロ                       でしたいのです ActiveChart.SeriesCollection(1).Formula = _ "=SERIES(元データ!$B$20,元データ!$C$3:$DI$3,元データ!$C20:$DI20,1)" ループさせて 19を20につぎは20を21に・・・・・最終的には59を60行を参照するように 取得して変換していきたいのです 書き方が悪くて申し訳ありません。 どなたかわかるかた大至急教えてください。宜しくお願いいたします。

  • エクセル グラフで元のデータ部分を参照させたい

    自力では解決出来なかったので 知識、知恵のあるかた、助けてください! エクセルのグラフを書く際に X軸Y軸の値をいじるときに 元のデータを開きますが その元のデータ欄に入ってる参照数式を  別のセル 例えばA1セルに その数式を文字列で入力し 参照させてグラフに反映させることは出来ないでしょうか? 数式自体でなくても、例えば列名や行列番号などを セルに入力しそれをグラフの元データの参照部分に反映させたいのです。 元データを開いてy軸の参照部分を変更しながら グラフを大量に作成しておりますが セルに数字を入れるだけで参照箇所を変えることが出来ないでしょうか。 実際の 元のデータ x軸の値 「   」 ここに入れるべきセル参照の式を教えていただければ幸いです。 よろしくお願いいたします。

  • エクセルのグラフでデータ範囲を参照するには

    エクセルでグラフを作成した後に、データ数の変更等や データ範囲を変更などで、「データ範囲(D):」の入力範囲に 表のセルを指定したいのですがどうしてもうまくゆきません VBAやマクロを使用するのも敷居が高いし、どなたか教えて 頂けますでしょうか