• 締切済み

Excel滝グラフの色を増減で自動化したい

Excelのウォーターフォール、滝グラフですが、色を増減別に自動化するのは可能でしょうか。例えば、増加のときは青、減少のときは赤です。これができれば随分と作業が楽になるので、御存知の方は是非お教え下さい。 宜しくお願いします。

みんなの回答

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

滝の部分を、その増減の値幅で色分けする、という希望だ、と解釈して、VBAでやれば、近いことはやれる、と言えると思います。 「自動化」というのが、グラフ作成後1回、データ変更(訂正)にに、実行するという仕組みに止めてます。 下記は、シートSheet1のRange("B6:C14")(空きセル範囲なら、どこででも良いが、その際は、コード修正は必要) VLOOKUP関数の表を、例えば下記のように作る。 増減値 色コード(文字列)増減値幅は実際の値で考えるべきもの -100 255,140,6 0 255,140,6 5 255, 255, 0 10 0, 0, 255 15 0, 255, 255 20 0, 255, 0 25 255, 0, 255 30 255, 0, 0 40 255,20,0 のような、VLOOKUP関数、TRUE型の表で、設定する色(RGB色コード)を割り出します。 ーーー Sub test06() 'https://excel-toshokan.com/vba-color-list/   RGB色見本あり、参考 temp = Worksheets("Sheet1").ChartObjects(1).Chart.SeriesCollection(1).Values For I = 2 To 6 '6は小生のテストデータが6か月だったから。 グラフもシートに1つ、系列も1つのグラフを作っての話です。 MsgBox temp(I) x = temp(I) y = Application.WorksheetFunction.VLookup(x, Range("B6:C14"), 2, True) MsgBox y c = Split(y, ",") Worksheets("sheet1").ChartObjects(1).Chart.SeriesCollection(1).Points(I).Interior.Color = RGB(c(0), c(1), c(2)) MsgBox c(0) & "-" & c(1) & "-" & c(2) Next I End Sub === 小生の使う2013までは、滝(WaterFall)グラフは作成に要領が必要で、2016からメニュー化してあると聞きます。 上記は積み上げ縦棒グラフでやった失敗作(値の目盛がうまく変えられない)グラフの結果に対してテストしたものです。 Sheet1 A2:G4 9月末 10月末 11月末 12月末 1月末 2月末 データ 100 120 135 145 130 120 前月比 -100 20 15 10 -15 -10 === VBAに馴染んでない人には現実感ないですが、参考にしてください。

  • NuboChan
  • ベストアンサー率47% (785/1650)
回答No.1

回答が付きませんが、以下の参考記事が利用できませんか ? 記事の抜粋: EXCEL2016以降のウォーターフォールグラフのように、 合計(期首・期末)、増加(プラス)、減少(マイナス)の各要素で自動的に色を変えたい場合は、 「上限と下限の差(プラス)」「上限と下限の差(マイナス)」の部分をそれぞれ3つずつに分ければ、作成可能です。 参考記事 https://ontrack.co.jp/%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB%E6%8A%80/excel%E3%81%AE%E3%80%8C%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A9%E3%83%BC%E3%83%AB%E3%83%81%E3%83%A3%E3%83%BC%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90%E6%96%B9%E6%B3%95%E3%80%8D-2/

関連するQ&A