- 締切済み
【エクセル:棒グラフ 同系列の要素を色分けする方法】
【エクセル:棒グラフ 同系列の要素を色分けする方法】 度々お世話になっております。 貼付画像のようなグラフを作成しようとしております。 (ソフトはEXCEL2007を使用しております) 生産と消費の要素を貼付画像のように色分けして、なおかつ 凡例を表示させるようにしたいのですが方法がわかりません。 ネットで色々調べたところ [データ系列の書式設定]→[塗りつぶし]メニュー画面で[要素の塗り分け] ができるというのを見つけたのですが、 当方が試したところ[塗りつぶし]メニューに[要素の塗り分け]が 表示されません。。。 今後のデータ変更などに速やかに対応できるよう、手作業を少なく作りたいと 思ってます。(例えば、テキストボックスで凡例の絵を作る等・・) どうかアドバイスを宜しくお願い致します。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- xls88
- ベストアンサー率56% (669/1189)
回答番号:No.4 で提示したコードで r = r + 50 の行は消し忘れでした。 そのまま実行するとエラーになります。 削除してからコードを試してください。 先のコードでは、棒の色はExcelにお任せです。 任意の色に設定するようにしてみました。 Dim ser As Series Dim xval As Variant Dim scn As Integer Dim n As Integer Dim r As Variant ActiveSheet.ChartObjects(27).Select With ActiveChart scn = .SeriesCollection.Count xval = .SeriesCollection(1).XValues For Each ser In .SeriesCollection n = n + 1 r = r + 100 ser.Name = xval(n) & "A" ser.Interior.Color = RGB(255, r, 0) With .SeriesCollection.NewSeries .Formula = ser.Formula .Name = xval(n) & "B" .PlotOrder = scn + n .Interior.Color = RGB(0, r, 255) .Points(1).Interior.ColorIndex = xlNone End With Next End With
- xls88
- ベストアンサー率56% (669/1189)
レスが途切れていますが進んでいますか? 試しにVBAコードを組んでみました。 対象グラフを選択しておいて実行してください。 提示例には最低限対応できていると思います。 Dim ser As Series Dim xval As Variant Dim scn As Integer Dim n As Integer With ActiveChart scn = .SeriesCollection.Count xval = .SeriesCollection(1).XValues For Each ser In .SeriesCollection n = n + 1 r = r + 50 ser.Name = xval(n) & "A" With .SeriesCollection.NewSeries .Formula = ser.Formula .Name = xval(n) & "B" .PlotOrder = scn + n .Points(1).Interior.ColorIndex = xlNone End With Next End With
また、送信したら反映されなかったようです。 データ系列の色を変える事はできますが、1つずつ変更すると 凡例と連動しなくなります。 いろいろな方法を模索しました。系列名を追加したり、 並び順を変えたり・・・ ご希望のように4つの半凡例を出す事は、無理なようです。 この方法でいかがでしょう。 1.一方の系列をクリック。更にクリックすると1つだけ選択状態に なるので、任意の色にし、4つ異なる色にします。 2.グラフの下に「データテーブル」を出します。 グラフ選択状態で「グラフツール」「レイアウト」「データテーブルの表示」 凡例マーカーを表示しない方です。 ちょうどグラフと同じ配列にデータが表示されます。これには個々に 色を付ける事はできません。 3.「凡例」を非表示に。凡例を選択しDelで、消せます。 この分、プロットエリアが広がり、右に余裕がなくなるので、 プロットエリアを選択し、右の黒いハンドルを左にドラッグし、 右側に余白を作ります。 3.任意のセルに「生産量A」「消費量A」・・・と入力します。 グラフ選択状態で、テキストボックスを描き、前回の方法で それぞれ、数式バーに = を入れ、該当セルを選択し、エンター。 4.色で判明させるなら、「四角」を描画し、系列と同じ塗りつぶしの色にし、 それぞれ「系列名」の傍に配置します。 テキストボックスに参照させているセルを非表示にするなら、 ・その列を非表示にする。・「塗りつぶしの色」を「白」にする、 ・「セルの書式設定」「ユーザー定義」「種類」のボックスに、 半角で ;;; と入力する、これがベストですが。 これで、ほぼご希望通りのグラフになると思います。
データ系列の色を変える事はできますが、1つずつ変更すると 凡例と連動しなくなります。 いろいろな方法を模索しました。系列名を追加したり、 並び順を変えたり・・・ ご希望のように4つの凡例を出す事は、無理なようです。 この方法でいかがでしょう。 1.一方の系列をクリック。更にクリックすると1つだけ選択状態に なるので、任意の色にし、4つ異なる色にします。 2.グラフの下に「データテーブル」を出します。 グラフ選択状態で「グラフツール」「レイアウト」「データテーブルの表示」 凡例マーカーを表示しない方です。 ちょうどグラフと同じ配列にデータが表示されます。これには個々に 色を付ける事はできません。 3.「凡例」を非表示に。凡例を選択しDelで、消せます。 この分、プロットエリアが広がり、右に余裕がなくなるので、 プロットエリアを選択し、右の黒いハンドルを左にドラッグし、 右側に余白を作ります。 3.任意のセルに「生産量A」「消費量A」・・・と入力します。 グラフ選択状態で、テキストボックスを描き、前回の方法で それぞれ、数式バーに = を入れ、該当セルを選択し、エンター。 4.色で判明させるなら、「四角」を描画し、系列と同じ塗りつぶしの色にし、 それぞれ「系列名」の傍に配置します。 テキストボックスに参照させているセルを非表示にするなら、 ・その列を非表示にする。・「塗りつぶしの色」を「白」にする。 ・「セルの書式設定」「ユーザー定義」で「種類」ボックスに 半角で「;;;」と入力する。これがベストですが。 これでほぼご希望通りのグラフになると思います。
凡例について、すぐ送信しましたが、なぜか反映されていないので。 グラフを選択。「グラフツール」「レイアウト」の下に「凡例」が あるので「凡例を右に配置」などを選択して下さい。 テキストボックスで作成すると、データと連動しません。
再びおじゃまします。 1つのデータ系列を選択、右クリック。「データ系列の書式設定」 「塗りつぶし」から右の「単色」を選択し、 「色」のボタンを押すとパレットが開くので、任意の色を選択し、 「閉じる」。 もう1つのデータ系列も同様に。
補足
inu-cvan様 早速のご回答ありがとうございます。 質問文の言葉が足りなかったようですので、補足させていただきます。 ご回答いただいた作業につきましては、当方で試みたのですが この方法でやると、凡例にうまく反映されません。。。 要素を色分けするに伴い、凡例も (1)生産A (2)生産B (3)消費A (4)消費B のように表示させたいのです。 テキストボックスなどを利用して手入力で凡例の絵を作るような事は、 なるべくしないでできたら。。。と思っているのですが。。 難しいのでしょうか。。 お手数ですが、ご回答いただけると幸いです。
補足
度々申し訳ございません。。。 私の説明が下手でお手数おかけしますが、再度補足させていただきます。 アドバイスいただいた方法で凡例は表示できるのですが、 これだと、「消費」の分の要素色しか表示されないのです。 読み込んでいるデータの要素項目はAとBしかないのですが 消費と生産の要素を色分けするに伴い、凡例も4パターン(消費A、消費B、生産A、生産B) 表示させたいのです。 データ連動させた状態で上記のような凡例を表示させたいのですが、できません。。 テキストボックスで作成するとデータ連動しないのは承知なのですが、 私の知識レベルではほかに方法がみつかりません。 何かよいお知恵があればアドバイスお願いいたします。