【Excel VBA】複数のグラフのX軸を一括で変更する方法|時間軸の手動調整を自動化

目次

概要

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

使用方法

  1. セル A1 に X軸の開始値(例:0)
  2. セル A2 に X軸の終了値(例:100)
  3. セル A3 に X軸の区切り(例:10)
  4. 実行ボタンをクリック

これだけで、すべてのグラフのX軸が一括で更新されます。

応用のヒント

  • X軸だけでなく、Y軸(縦軸)も同様の構文で一括変更可能です
  • 時系列データの期間を切り替えながらグラフ表示を切り替えたい場面に便利です
  • マクロボタンに別の設定パターンを割り当てておけば、複数の期間比較も即時切替できます

まとめ

  • Excelで複数のグラフのX軸を手動で調整するのは非効率
  • VBAを使えば、セル入力 + ボタン1つでX軸の設定を一括反映可能
  • 時間軸を使ったグラフや、ダッシュボードの自動化に最適

Excelで可視化業務を効率化したい方にとって、この方法は非常に有用です。

技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。

気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。

[Kindle Unlimited 読み放題プランをチェックする]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次