VBA~数値軸の指定した目盛に色を設定しよう~Excel
VBAでグラフの数値軸の指定した目盛に色を設定する方法を解説します。
数値軸の指定した目盛に色を設定したい場合、AxisオブジェクトのTickLabels.NumberFormatLocalプロパティを設定します。数値軸の設定なのではAxisオブジェクトにAxes(xlValue)を指定します。例えば"[赤][=6]G/標準;G/標準"と設定すれば数値軸の6の目盛りが赤に設定されます。最初の[赤][=6]G/標準が値が6の時に標準書式で赤色に表示するという意味になります。
;(セミコロン)で区切ることで複数の条件を指定できます。
次の;G/標準は条件が設定されていないので、数値軸の目盛りが6以外の時は標準書式で表示するという意味になります。
既にグラフがある場合
下の画像において下のコードを実行すると数値軸の6の目盛を赤に設定されます。
Sub test1() ActiveSheet.ChartObjects(1).Chart.Axes(xlValue).TickLabels.NumberFormatLocal = "[赤][=6]G/標準;G/標準" End Sub
グラフのインデックス番号はグラフの作成順に割り振られます。今回はグラフが1つしかないのでグラフのインデックス番号は1となりChartObjects(1)となります。
グラフ作成時に数値軸の指定した目盛に色を設定
下のコードを実行するとグラフ作成時にタイトルも設定されます。
Sub test2() With ActiveSheet.Shapes.AddChart.Chart .ChartType = xlLine .SetSourceData Range(Range("A4"), Range("B10")) .Axes(xlValue).TickLabels.NumberFormatLocal = "[赤][=6]G/標準;G/標準" End With End Sub
コードの説明
WithからEnd Withまでがグラフの作成、設定です。
ActiveSheet.Shapes.AddChart.Chart
グラフを書くためのキャンバスを作成しています。
.ChartType = xlLine
グラフの種類を設定しています。xlLineは折れ線グラフになります。
.SetSourceData Range(Range("A3"), Range("B10"))
グラフのデータ範囲を設定しています。
.Axes(xlValue).TickLabels.NumberFormatLocal = "[赤][=6]G/標準;G/標準"
数値軸の6の目盛を赤に設定しています。