• 締切済み

エクセルのグラフ操作

エクセルで複数のデータ系列を1つのグラフに表示させていますが、たくさんありすぎて見えにくい場合があります。ラジオボタンで、データ系列ごとに表示・非表示を簡単に出来る方法を教えて下さい。 VBはサンプルプログラムを数年前に作ったきり知識は皆無に等しいです。 よろしくお願いいたします。

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

シートの状況、グラフの種類、ラジオボタン(オプションボタン)をどこに置くといった事を明示すれば、優しい回答者の方がこさえてくれるかもしれません。 ご要求通りという訳にはいきませんが、オートフィルタを使えばVBA要らずです。画像をご覧下さい。 下記は、興味本位に作成したもので、分かり易くも速くもないと思いますので、話の種程度です。 ワークシートに散布図(マーカーと線あり)が一つあり、元データも同一シートにあるとします。元データのある系列のセルでWクリックすると、該当するグラフの系列の表示・非表示が切り替わります。目的のシートモジュールに記述します。イベントマクロについては、参考URLをご覧下さい。 線の色とマーカーがエクセルお仕着せで変更になってしまう事があるのが難です。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim mySeries As Series Dim mychartobj As ChartObject Dim i As Long Set mychartobj = Me.ChartObjects(1) For i = 1 To mychartobj.Chart.SeriesCollection.Count Set mySeries = mychartobj.Chart.SeriesCollection(i) If Not Intersect(Target, Me.Range(Split(Split(mySeries.Formula, ",")(2), "!")(1))) Is Nothing Then Cancel = True With mySeries If .Format.Line.Visible = msoFalse Then .Format.Line.Visible = msoTrue .MarkerStyle = xlMarkerStyleAutomatic Else .Format.Line.Visible = msoFalse .MarkerStyle = xlMarkerStyleNone End If End With End If Next i End Sub ※ループをiで回しているのは、マーカーの種類をワークシートに保存しようとした時の名残です。最初にマーカーの種類を手動で決めてあれば、保存する価値もあるのですが...

参考URL:
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_event.html
yokayoka815
質問者

お礼

まさしくやりたかったことがオートフィルターでできるのですね。 オートフィルタを列に対してかけたいのですが、行しかできないのでグラフ横軸の範囲を絞るのには使えそうです。行と列を入れ替えれば系列ごとにグラフ表示・非表示を切り替えれました。次から、行と列を入れ替えてデータを作ります。ただ、横方向のスクロールが大変そうですが。 VBAの方も試してみます。ありがとうございました。

関連するQ&A

  • エクセルデータをVB2008のMSChartでグラフ化する方法を教えてください!!

    はじめまして。VB初心者です。 エクセルからデータを取り出し、VB2008のMSChartコントロールを使って、マーカー無しの平滑線の散布図を作ろうと思っています。まだVB初心者で、プログラム作るのに苦労しています(汗)。エクセルから下記のようにランダムにデータを取り出して表示する方法わかる方いましたらご教示お願いします。(サンプルコードありましたら助かります!!) ★VB2008のMSChartコントロールで下記のように表示したいです!! (1)エクセルにあるデータは、A1からデータがはじまっているのではなく、AFの3からはじまり、3,6,9,12(行)に系列ごとにデータが入力されます(下記のエクセルデータ例参考)。 (2)VBでの表示は下記のエクセルで作ったグラフのようにしたいです!!データはエクセルデータの行に入力されている黄色の部分です。(X軸目盛りは1単位となります)、 (3)系列はエクセルの行となり、表示は系列をすべて重ねて表示します。(系列の数は列のセルの最後まである場合があります) 参考にエクセルでグラフ作りましたのでみて頂ければ幸いです

  • エクセルのデータをVB2008でグラフ化する方法

    はじめまして。VB初心者です。 エクセルからデータを取り出し、VB2008のMSChartコントロールを使って、マーカー無しの平滑線の散布図を作ろうと思っています。まだVB初心者で、プログラム作るのに苦労しています(汗)。エクセルから下記のようにランダムにデータを取り出して表示する方法わかる方いましたらご教示お願いします。(サンプルコードありましたら助かります!!) ★VB2008のMSChartコントロールで下記のように表示したいです!! (1)エクセルにあるデータは、A1からデータがはじまっているのではなく、AFの3からはじまり、3,6,9,12(行)に系列ごとにデータが入力されます(下記のエクセルデータ例参考)。 (2)VBでの表示は↓ののようにしたいです!!X軸はエクセルデータの列となり、値は1からはじまりエンドは任意となります。Y軸は測定データで、12.3. 13.5等となり、エクセルのAFから入力した数値となります。系列はエクセルの行となり、表示は系列をすべて重ねて表示します。 【例】      1    2   3   4 ・・・(X軸) 系列1 12.3  13.5  13.4  20.3・・・(Y軸) 系列2 13.3  12.5  11.4  22.3・・・(Y軸) ・ ・ 【エクセルデータ】    AF   AG    AH    AI ・・・(列) 3 12.3  13.5  13.4  20.3・・・・・→系列1 6 13.3  12.5  11.4  22.3・・・・・→系列2 9 11.3  13.5  13.4  20.3・・・・・→系列3 12 15.3  13.5 13.4  20.3・・・・・→系列4 (行) 以上、宜しく御願致します。

  • エクセルで複数のグラフを描くには?

    エクセルで折れ線グラフを描いてますが、1シートにたくさんデータ表が有り、それぞれ同じグラフを書きます。その場合、系列がたくさんあるため、1個づつグラフを書くのが大変です。そこで、グラフをコピー・貼り付けで、データ範囲を変更したのですが、系列の名前と項目軸ラベルの表示がエラーとなります。たくさんあるデータに対して同じグラフを書く場合、2個目からは簡単に描く方法はありませんか? 教えてください。

  • Excelのグラフ(2000)

    お世話になります 教えてください。 EXCEL2000です。 グラフを作成しています。 行のデータ数は39634行あります。 B列に時間、C列に数値があって、それをグラフにしたいのです。 x軸に時間、Y軸に数値にします。 でも、作成しても、エラーが出るのです。 「2-Dグラフで入力できるデータ要素の数は1系列あたり最大32000個です。32000個以上のデータ要素を使用する場合は、複数の系列を作成してください。」 というようなエラーです。 まあ、たしかにデータ数は32000個以上ありますが。。。 これはいったいどういうことでしょうか? じゃあ、2系列作成すればいいのかと、グラフウィザードの、(散布図)系列タブで、「系列」のところに「系列1」しかないのをその下の「追加」ボタンを押して「系列2」を追加しました。 エラーによると、「系列1」だけでは作成されないグラフ分を系列2でおぎなっているのだろうかと思いましたが、出来上がったグラフを見ると、すっかり系列1と系列2が重なっているのです。すっかりわからなくなりました。 デフォルト設定が系列1が青色、2がピンクだったので、 どちらも同じ色にしたいと思いましたが、系列2のほうが上にかさなっていて、おかげで系列1が選択できず、「データ系列の書式設定」をしようにもできません。 すっかりかさなっているグラフをそれぞれの系列を選択するにはどうしたらよいでしょうか? グラフをきちんと作成するにはどうしたらよいでしょうか?2系列?うまくつくるにはどうしたらよいでしょうか?

  • エクセルのグラフ

    折れ線グラフのデータを頂いたんですが、点と点の間に線が出ません。 データ系列の書式設定のパターンで線指定してサンプルのところに線は出ているんですが、 肝心のグラフ内には表示されていません。 どうすれば出てくるんでしょうか?

  • エクセルでのグラフ表示

    エクセルで折れ線グラフを作成しますが、縦軸がデータの数値に対して、横軸が測定条件の変化をサンプル別に複数の折れ線グラフを描きますが、サンプルにより測定条件に欠損値がある場合、そのサンプルの折れ線グラフがその部分の測定条件(横軸)で縦軸が0のデータで折れ線を引きます。これでは見難いので、欠損値を無視して折れ線を引く方法は無いでしょうか? 宜しくお願いします。

  • Excelで複数行のデータを1つのグラフに

    Excel2002(officeXP)を使っています。それで80000点のデータを1つの折れ線グラフに表示したいのですが、32000を超えると複数行にして系列を分けてください。とコメントされてます。それで複数行に分けて系列を分けたのですが、そうすると番号順にグラフを描画するため系列が重なってしまいます。 80000点すべてでなくても、32000点以上のデータを1つのグラフに表示する方法をご存知の方は教えてください。

  • エクセルグラフについて

    エクセルのグラフについて、教えてください。 下記のサンプルのデータ、AとBは年毎に縦棒のグラフ積み上げで表示し Cは参考でその同じグラフに折れ線で表示するグラフを作りたいのですが、その方法を申し訳ないですが、教えていただけないでしょうか。 資料作りでどうしてもその方法を使いたく、お聞きしております。 宜しくお願い致します。 2004 2005 2006 2007 A 100 110 120 130 B 120 130 140 150 C 100 110 120 130

  • エクセルのグラフ

    エクセルで帯グラフを作っています。 データラベルで、系列名と値があります。 (系列名)北海道(値)3% 東北3% 北陸2% 関東13% (続く)……となっています。 帯グラフの内側にパーセントを表す数値(値)を入れて、 帯グラフの外側に北海道などの系列名を表示したいのですが、どのようにすればいいのでしょうか。 今、「北海道 3%」と系列名と値が一緒に表示されてしまいます。 すみませんが、よろしくお願いいたします。

  • エクセルのグラフについて教えてください。

    エクセルのグラフについて教えてください。 例えば棒グラフ(Y軸に数量のデータ、X軸に時系列)を作ったときに、 エックス軸の時系列表示をみやすくするために2段にしたいです。 表示を下記に変更したい。 Jan-08 Feb-08 ⇒ Jan-   Feb-                 08    08 上記のように表示するにはどのように操作すればよろしいのでしょうか? エクセル2007を使用しています。 よろしくお願いもうしあげます。

専門家に質問してみよう