【VBAリファレンス|実務向け】Excelグラフの数値軸を自由自在に!「ユーザー定義表示形式」で視覚効果を最大化するテクニック

スポンサーリンク

導入: なぜグラフの軸に「記号や文字」が必要なのか?

Excelでグラフを作成する際、標準の数値軸だけでは「何を示しているのか」「どのラインが重要なのか」がひと目で伝わりにくいことがあります。例えば、特定の閾値(しきいち)を超えたポイントに目印を付けたり、単位を工夫して見やすくしたりするだけで、グラフの説得力は劇的に向上します。今回は、グラフ作成の現場で役立つ「表示形式コード」を使った、数値軸のカスタマイズ手法を解説します。

基礎知識: 表示形式コードの仕組み

Excelには、セルやグラフの軸に対して「値そのものは変更せず、見た目だけを変える」機能が備わっています。これには「表示形式コード」というルールを使用します。
特に重要なのが「条件分岐」です。`[条件]表示形式;[条件]表示形式;標準的な表示形式` という構成で記述することで、「〇〇以下ならこの記号」「この数値ならこの文字」といった動的な表示が可能になります。

実装/解決策: 数値軸の書式設定手順

まずは手動での設定方法を確認しましょう。
1. グラフの「数値軸」を右クリックし、「軸の書式設定」を選択します。
2. 表示されたメニューから「表示形式」タブ(または項目)を開きます。
3. カテゴリから「ユーザー設定」を選択します。
4. 「表示形式コード」の入力欄に、条件を含めた文字列を入力します。

コツ: ここで重要なのは、最後に必ず「G/標準」または「#」などの数値を表示するコードを入れることです。これがないと、条件に合致しなかった数値がすべて消えてしまう可能性があるため注意が必要です。

サンプルプログラム: VBAで軸の表示形式を制御する

現場では、複数のグラフを一括で装飾したり、条件を動的に変更したりする場面が多いはずです。以下は、アクティブなグラフの第1数値軸の表示形式をVBAで設定するサンプルコードです。

Sub UpdateChartAxisFormat()
' 選択中のグラフの数値軸の表示形式を変更するマクロ
Dim chartObj As Chart

' グラフが選択されているか確認
If ActiveChart Is Nothing Then
MsgBox "グラフを選択してから実行してください。"
Exit Sub
End If

Set chartObj = ActiveChart

' 数値軸に対して表示形式を適用
' 20以下は「▼」、40は「40★」、それ以外は標準の数値を表示する設定
With chartObj.Axes(xlValue)
.TickLabelPosition = xlTickLabelPositionNextToAxis
.NumberFormatLocal = "[<=20]""▼"";[=40]""40★"";G/標準" End With MsgBox "数値軸の表示形式を更新しました。" End Sub

応用・注意点: 現場で役立つ補足

・条件は最大2つまで: 表示形式コードの条件分岐は、基本構造として「条件1」「条件2」「それ以外」の3パターンを記述する形になります。あまり複雑な条件(3つ以上)を一度に設定しようとするとエラーになるため、その場合はグラフのデータ系列を分けるなどの工夫が必要です。
・「G/標準」の重要性: 手動設定時もVBA設定時も、末尾の「G/標準」を忘れないでください。これが「条件に当てはまらない数値もそのまま表示する」という役割を担っています。
・メンテナンス性: この設定はグラフの見た目のみを制御するものです。元のデータ(セル内の数値)には一切影響を与えません。そのため、安心してグラフのビジュアルをブラッシュアップするために活用してください。

このテクニックを活用すれば、単なる数値の羅列だったグラフが、一目でポイントが伝わる「報告用資料」へと生まれ変わります。ぜひ、次のレポート作成から取り入れてみてください。

タイトルとURLをコピーしました