主にマクロマンとパワークエリの解説を行うサイトです

【VBA】Excelのグラフ横軸のレンジと目盛り幅を一発で変更する方法を解説します。

あなた
グラフの横軸のレンジを毎回手作業で変更するの面倒くさい・・・

 

今回は、Excelのグラフ横軸のレンジと目盛り幅を一発で変更する方法を解説します。

 

例えば、次のような状況を想定しています。

 

上の図では複数のデータのトレンドグラフを作成しています。

データは定期的に更新されるため、その都度横軸のレンジを変更する必要があります。

 

毎回毎回トレンドを1つずつ手作業でレンジ変更するのは結構面倒くさい作業ですよね。

 

今回は、このようなグラフ横軸のレンジと目盛り幅を一発で簡単に変更する方法をご紹介します。

 

解説

エクセルのマクロを使用します。

そんなに難しい作業ではありません。

 

 

「開発」タブから「Visual Basic」を開き、出てきた画面の左側(プロジェクトエクスプローラーと呼びます)にある標準モジュールをクリックします。

出てきた画面に以下のコードを入力します。

Sub axes_change()

Dim cht As ChartObject

For Each cht In ActiveSheet.ChartObjects
cht.Select

ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).MinimumScale = Range(“B1”)
ActiveChart.Axes(xlCategory).MaximumScale = Range(“B2”)
ActiveChart.Axes(xlCategory).MajorUnit = Range(“B3”)

Next cht
End Sub

入力後は、VBAの画面の「ファイル」> 「終了して、Microsoft Excelに戻る」を押してVBAを閉じてください。

 

今回は、

レンジの最小値:B1セル

レンジの最大値:B2セル

目盛り幅:B3セル

にそれぞれ入力し、マクロを実行することで自動的にトレンドの横軸を調整することにします。

もし、他のセルに入力したい場合は、上で紹介したコードの”B1″、”B2″、”B3″をそれぞれ自分の好きなセル番地に変更してください。

 

レンジの最小値、レンジの最大値、目盛り幅を入力したら、下のようにマクロを実行してください。

 

 

実行するとトレンドの横軸が下のように変更されました。

 

トレンドが数個だけの場合だと、手作業で横軸を変更しても大したことはありませんが、データを扱う実務では数十個のトレンドを扱ったりしますので、さすがに手作業だと厳しいですよね。

 

毎回、このやり方でマクロを実行してもよいのですが、少々面倒なので、以下のようにマクロ実行ボタンを作ることをおすすめします。

 

ボタンの名称は右クリックすれば編集できるようになっています。

これでレンジの最小値、レンジの最大値、目盛り幅を入力して、ボタンをポチッと押すだけで、横軸が簡単に変更できるようになりました。

 

最後に、マクロが含まれるファイルになったので、拡張子が「.xlsm」として保存してください。

 

 

以上、お役に立てれば嬉しいです!

「うまくできなかった」とか、「よくわからなかった」とかあればぜひコメント欄からご連絡ください!