dポイントプレゼントキャンペーン実施中!

有識者の皆様何卒ご教示ください。
よろしくお願いいたします。

添付画像に集計数字(条件付書式でカラースケール設定済み)と、それを横棒グラフにしたものを載せておりますが、
グラフのほうにも集計数字と同様数字の高低によって色分けさせたいです。

集計数字のセルの色をそのままグラフに持ってくる方法でもいいし、グラフ側の設定で色分けする形でもいいし(グラフ版条件書式)、ほかに方法があるならそれでもかまいません(要するに方法は問いません)。

ただ、当方はVBAがまったくわからないため、VBAによる方法ではない方がいいです。そのような方法がありましたら何卒ご教示ください。

よろしくお願いいたします。


※:ただし、どうしてもVBA以外では不可能ですよ。ということでしたらVBAにチャレンジしてみますので、できるだけ簡単なやり方を教えてください(-人-)
よろしくお願いいたします。

「成績に応じてグラフに自動で色付けする方法」の質問画像

質問者からの補足コメント

  • ご回答ありがとうございます^^

    1回、2回の問題ならそれでもいいのですが、
    今後こういうことをやる機会が増えそうなので方法があるなら覚えたいのです(´;ω;` )グスン…

    もし方法をご存知でしたら何卒ご教示いただけましたら幸いです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/12/07 16:32

A 回答 (5件)

No.4の回答者さんのマクロは応用が利くので便利ですね。


そこで、以下の手順を加えてNo.4のマクロを実行してみては。

条件付き書式での[カラースケール]は、Excel2007で加わった新しい
機能なので、そのままだと塗りつぶしの色を取得できません。
色を取得できる状態にするために、マクロにあるカラー一覧の範囲に
クリップボード経由で貼り付けたものを昇順で並べ替えます。
https://316-jp.com/excel-del-conditional-formatt …

カラー一覧の範囲を広めに指定しておけば、集計の範囲が広がっても
対応できると思います。(例 "H2:H100" など)
グラフを選択してマクロを実行すれば希望するものになります。
「成績に応じてグラフに自動で色付けする方法」の回答画像5
    • good
    • 0

No2です。



>VBAによる方法ではない方がいいです。
自由に設定できる方法としてはVBAしか思いつかなかったので、お好みではないと思いますが、簡単なものを作ってみました。

※ 値のチェック等は省略してありますので、異なるタイプのものなどの場合はエラーになる可能性がありますので、悪しからず。
※ 度数と色の関係はセル範囲で指定するようになっていますが、セルの値は昇順にソートされていることが条件です。
(セルの色は、条件付き書式等の色ではなく、直接塗られている元の色を採用します)

添付図の場合で言えば、色の範囲指定を「H2:H8」として設定してあります。
添付図のように、対象とするグラフ(全体)を選択した状態で実行すると、そのグラフの度数に応じて指定セル範囲の色が塗られます。

ご参考までに。

Sub Q12705206()
Dim cTable As Range
Dim obj, v, i As Long, n As Long

Const colorTable = "H2:H8" ' ←カラー一覧の範囲をここに!

Set cTable = Range(colorTable)
Set obj = Selection
If TypeName(obj) = "ChartArea" Then Set obj = obj.Parent
If TypeName(obj) <> "Chart" Then Exit Sub

Set obj = obj.SeriesCollection(1)
v = obj.Values
For i = 1 To UBound(v)
If v(i) >= cTable(1) Then
n = WorksheetFunction.Match(v(i), cTable, 1)
obj.Points(i).Format.Fill.ForeColor.RGB = cTable(n).Interior.Color
End If
Next i

End Sub
「成績に応じてグラフに自動で色付けする方法」の回答画像4
    • good
    • 1

> 1回、2回の問題ならそれでもいいのですが、



No.2の回答の方法1ならば、一度エクセルシートにセットすれば、メンバーが変更になっても、何度利用しても、使えるのではないでしょうか。
また、セットしたシートをコピーすれば、何枚もの同様の設定で使えると思います。
「成績に応じてグラフに自動で色付けする方法」の回答画像3
    • good
    • 0

No1です。



「値に応じて」ってのがなかなか厄介ですね。

方法1、方法2(以下を参照)
https://ja.extendoffice.com/documents/excel/2343 …

方法1は比較的簡単ですけれど、テーマカラー順で色がつくはずなので、色数に制限があるのと、好みの色にするには自分でテーマカラーを設定しておく必要があります。

方法2はプラグイン化してあるようですが、有料ツールです。(1か月間無料)

方法3 ご質問文にもありますが、マクロによる方法でしょうか。
>VBAによる方法ではない方がいいです。
とのことなので、こちらにはあまり触れないことにしておきます。


申し訳ありませんが、私に思いつけるのは、手操作以外には、上記の方法くらいですが・・・
もう少しこのまま置いておけば、どなたかが良い回答をくれるかも知れません。
    • good
    • 0

こんにちは



15種類ぐらいのようですので、それぞれの色を直接設定していくのが、一番手っ取り早いと思います。

色もわかっていて、元データの数値もあるのでしょうから、10分もかからないのではないでしょうか?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!