どうも!そこらへんの社会人です。
今回はグラフの色を自動で変更するマクロを作成してみました!
仕事でXxcel グラフを扱う人で、ある特定の条件のものを色で区別したい!と思ったものの
ひとつひとつのグラフを手作業で変更しないとけなく面倒だ・・・と感じたことがある人は少なくないのではないでしょうか?
私も仕事中によくそのような場面に出くわし何とか改善したいと思い、
今回このようなマクロを作成してみました!!
マクロを作成する過程も記事にしていますので参考にしてみてください!!
IF~End IF文の復習
まずは、if文の復習をします。
Sub if文の復習()
If“テスト” = Range(“B2”).Value Then
セル「B2」= 「テスト」なら
Range(“C3”).Value = “If文成功”
「if文成功」をセル「C3」に記載する
End If
End Sub
実際にマクロを実行するとこのようになります。
If ~ else ~End If文の復習
次にIf ~else~ End Ifの復習です。
Sub if文の復習()
If “テスト” = Range(“B2”).Value Then
もし、セル「B2」= 「テスト」なら
Range(“C3”).Value = “If文成功”
「If文成功」をセル「C3」に記載する
Else
そうでなければ
Range(“C3”).Value = “else文成功”
「else文成功」をセル「C3」に記載する
End If
End Sub
実際にマクロを実行するとこのようになります
グラフの色を変えてみる(1つのグラフ)
次は、いままでの復習したことを用いてグラフの色を変えていきたいと思います。
例として下記のような場合を考えてみます。

~例~
先のグラフで都道府県が「東京」ならばグラフを「青」で塗りつぶす。
そうでなければ、「赤」で塗りつぶす
実際に書いてみたマクロがこちらになります
Sub if文の復習()
If “東京” = Range(“C3”).Value Then
もし、セル「C3」=「東京」なら
ActiveChart.SeriesCollection(1).Points(1).Select
活動中のグラフの系列(1)のポイント(1)を選択
With Selection.Format.Fill
選択された書式を
.Visible = msoTrue
塗りつぶす
.ForeColor.RGB = RGB(255, 0, 0)
赤色
.Transparency = 0
透過度は「0」
End With
Else
そうでなければ
ActiveChart.SeriesCollection(1).Points(1).Select
活動中のグラフの系列(1)のポイント(1)を選択
With Selection.Format.Fill
選択された書式を
.Visible = msoTrue
塗りつぶす
.ForeColor.RGB = RGB(0, 0, 255)
青色
.Transparency = 0
透過度は「0」
End With
End If
End Sub
実際にマクロを実行したのが、こちらになります。
条件ごとに色が変わっているのがお分かりいただけただろうか??
グラフの色を変えてみる(1つのグラフ)⇒マクロを短くする
さきほど記載したマクロを短くことができるので、短くしてみましょう
下記のように必要なところにのみIf文をいれることを考えると短くできます。
Sub マクロを短く()
ActiveChart.SeriesCollection(1).Points(1).Select
活動中の系列(1)のポイント(1)を選択する
With Selection.Format.Fill
選択された書式を
.Visible = msoTrue
塗りつぶす
.Transparency = 0
透過度は「0」
If “東京” = Range(“C3”).Value Then
もし「C3」=「東京」なら
.ForeColor.RGB = RGB(0, 0, 255)
青色
Else
そうでなければ
.ForeColor.RGB = RGB(255, 0, 0)
赤色
End If
End With
End Sub
実際に実行したものが、こちらになります。
この続きは、下記記事で説明していきます!!
ぜひ参考にしてください!!

コメント
[…] 【Excel マクロ初心者】 グラフの色を自動で変更するマクロを作成してみた… […]