目次
概要
Excelでデータを可視化する際に、複数のグラフを使って時間変化を表現している方も多いのではないでしょうか。
しかし、X軸が「時間軸」の場合、期間の変更や区切りの調整が必要になるたびに、すべてのグラフを手動で設定し直すのは非常に手間です。
今回は、Excel VBAを使ってシート内のすべてのグラフのX軸(最小値・最大値・区切り幅)を一括で変更する方法をご紹介します。
実現したい仕様
以下のような構成で、指定した数値に基づいてX軸を自動変更する仕様です。
- セル
A1に「X軸の最小値」 - セル
A2に「X軸の最大値」 - セル
A3に「区切り幅(メジャーユニット)」 - 図形で作成した「実行ボタン」を押すと、現在のシート内すべてのグラフのX軸が一括で変更される
実装コード(VBA)
以下のコードを標準モジュールに貼り付けて、図形にマクロ登録してください。
Sub UpdateAxisMajorUnit()
Dim chrt As ChartObject
Dim minValue As Double
Dim maxValue As Double
Dim majorUnit As Double
With ActiveSheet
' A1〜A3の値を読み取り
minValue = .Range("A1").Value
maxValue = .Range("A2").Value
majorUnit = .Range("A3").Value
' シート内すべてのグラフのX軸を更新
For Each chrt In .ChartObjects
With chrt.Chart.Axes(xlCategory, xlPrimary)
.MinimumScale = minValue
.MaximumScale = maxValue
.MajorUnit = majorUnit
End With
Next chrt
End With
MsgBox "完了しました", vbInformation
End Sub
使用方法
- セル
A1に X軸の開始値(例:0) - セル
A2に X軸の終了値(例:100) - セル
A3に X軸の区切り(例:10) - 実行ボタンをクリック
これだけで、すべてのグラフのX軸が一括で更新されます。
応用のヒント
- X軸だけでなく、Y軸(縦軸)も同様の構文で一括変更可能です
- 時系列データの期間を切り替えながらグラフ表示を切り替えたい場面に便利です
- マクロボタンに別の設定パターンを割り当てておけば、複数の期間比較も即時切替できます
まとめ
- Excelで複数のグラフのX軸を手動で調整するのは非効率
- VBAを使えば、セル入力 + ボタン1つでX軸の設定を一括反映可能
- 時間軸を使ったグラフや、ダッシュボードの自動化に最適
Excelで可視化業務を効率化したい方にとって、この方法は非常に有用です。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
