ヒガサラblog

サラリーマン向けに、仕事を効率良く進めていくための方法についてご紹介しています。プログラミングから対人スキルまでを幅広く掲載中。

ヒガサラblog

【VBA】グラフ軸の数値レンジを自動調整するマクロ!Inputboxを使って簡単設定!

 

f:id:yshgs_elec:20201031202822j:plain

仕事でエクセルを使っている人へ。

「気づけばグラフばかり作っている。」

そんな時もあるのではないでしょうか?

 

この記事は、そんなグラフ作成を頻繁に行う人に向けて、

◆グラフの軸レンジを効率的に調整する方法

をご紹介していきます。

最大値、最小値およびメモリの幅をインプットボックスに入力する形にしていきます。

f:id:yshgs_elec:20201031194634j:plain

 

この記事で紹介する内容を、いつもあなたがグラフを作成するエクセルファイルに作成しておくだけで、作業効率が格段に上がります。

 

数行のVBAコードを記述するだけですので、ぜひ一緒にやってみましょう。

 

それではさっそくやっていきます!

 

はじめに

 この記事ではVBAを使った効率化手法の紹介を行います。

「VBAの使い方がわからない」

 という方は以下の記事を参考に、まずはVBAが使える環境を整えておきましょう。

www.higashisalary.com

 

また、今回はあらかじめ作成されているグラフに対して軸レンジ(数値の最小値から最大値)およびメモリの幅を自動調整する方法をご紹介していきます。

そのため、まずはグラフがないと始まりません。

というわけでまずはなんでも良いのでグラフを作成しておきましょう。

私は以下のような散布図を作成しました。

f:id:yshgs_elec:20201031194910j:plain

※エクセルで単純にグラフを作成した際は、参照しているデータの最小値から最大値までを表示できるように、横軸&縦軸のレンジが自動で調整されるようになっています。

 

軸レンジ調整マクロを記述

グラフ作成ができた方は、以下のVBAコードを記述しましょう。

X軸、Y軸用がありますので、それぞれのマクロを作成してください。

※コードの記述方法についても先ほど紹介した以下の記事に記載してあります。

【初心者用】エクセルマクロ(VBA)の始め方を詳細解説 - ヒガサラblog

 

まずはX軸を調整するマクロです。

Sub Graph_range_x()
'変数の型を宣言
Dim x_min As Double
Dim x_max As Double
Dim x_delta As Double

'軸調整開始
x_min = InputBox("X軸の最小値を入力してください", Default:=0)
x_max = InputBox("X軸の最大値を入力してください", Default:=100)
x_delta = InputBox("X軸のメモリ幅を入力してください", Default:=10)

ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).MinimumScale = x_min
ActiveChart.Axes(xlCategory).MaximumScale = x_max
ActiveChart.Axes(xlCategory).MajorUnit = x_delta

End Sub

 

次はY軸を調整するマクロです。

Sub Graph_range_y()
'変数の型を宣言
Dim y_min As Double
Dim y_max As Double
Dim y_delta As Double

'軸調整開始
y_min = InputBox("Y軸の最小値を入力してください", Default:=0)
y_max = InputBox("Y軸の最大値を入力してください", Default:=100)
y_delta = InputBox("Y軸のメモリ幅を入力してください", Default:=10)

ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MinimumScale = y_min
ActiveChart.Axes(xlValue).MaximumScale = y_max
ActiveChart.Axes(xlValue).MajorUnit = y_delta

End Sub

 

使うマクロとしてはたったのこれだけ。

非常に簡単ですね。

 

インプットボックスのデフォオルト値は適当な値を入れていますので、あなたがよく使う値に修正しておくと良いでしょう。

⇒Default:=**の部分の数字を自由に調整しましょう。

マクロ実行ボタンの作成

コードの記述が終わったら、次はこれらのマクロを実行するボタンを作成しましょう。

ボタンの作成方法については、以下の記事をご覧ください。

www.higashisalary.com

 

私は以下のようなボタンを作成しました。

f:id:yshgs_elec:20201031200743j:plain


これで事前準備は完了です。

 

軸タイトル作成マクロの使い方

まずはグラフを作成した方は先ほどつくったグラフをクリックして選択状態にします。

選択状態になると以下の画像のように8方に白い〇が現れます。

f:id:yshgs_elec:20201031200908j:plain

 

あとはこの状態で先ほど作ったボタンを押すだけです。

 

まずはX軸調整から。

 

実行ボタンを押すと、まずは以下のようにX軸の最小値を聞いてくるウィンドウが出現します。

⇒あなたが設定したい横軸の最小値を入力します。

f:id:yshgs_elec:20201031201126j:plain

(今回はこのまま0としておきます。)

入力が終わったらOKボタンを押します。

 

すると次は同じようにX軸の最大値を入力するウィンドウが出現します。

⇒あなたが設定したい横軸の最大値を入力します。

f:id:yshgs_elec:20201031201425j:plain

(ここも今回はこのまま100としておきます。)

入力が終わったらOKボタンを押します。

 

最後にX軸のメモリ幅を入力するウィンドウが出現します。

⇒あなたが設定したい横軸のメモリ幅を入力します。

f:id:yshgs_elec:20201031201541j:plain

(ここも今回はこのまま100としておきます。)

入力が終わったらOKボタンを押します。

 

すると、以下の画像のようにX軸の最小値、最大値、メモリ幅がさきほど設定したものに変更されているはずです。

f:id:yshgs_elec:20201031201840j:plain

 

基本的にY軸もやっていくことは全く同じですので、詳細は割愛しますが、さきほど紹介したコードをそのまま実行すると以下のような結果となります。

f:id:yshgs_elec:20201031202014j:plain

 

このボタンを、いつもあなたがデータ整理なり、グラフ作成なりをするエクセルファイルに作成しておくだけで、面倒なグラフ作成作業や、データ分析に費やす時間を大幅に短縮できるはずです。

 

終わりに

というわけで今回はグラフ作成を効率化するために、横軸&縦軸の軸レンジをボタンひとつで自動作成調整する方法についてご紹介しました。

おそらく数分でできたのではないでしょうか?

こんなちょっとした作業を事前に行っておくだけで、今後の面倒な繰り返し作業が効率化かされていくのです。

 

このほかにも、このブログでは、エクセル(VBA)を中心に、様々な業務効率化スキルを紹介しています。

■業務の生産性を上げたい。

■早く帰って子供と遊びたい。

こんな人はぜひ他の記事も読んでみてください。

 

また、VBAを使ってこんなことがしたいんだけど、やり方がわからない、という悩みを抱えているかたは、お気軽にコメント欄から質問してください。

私にわかる範囲であればご協力いたしますので。(もちろん無料です。)

 

最後に・・・

この記事が役に立ったという方はぜひ応援よろしくお願いします。

 ↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

にほんブログ村 IT技術ブログへ
にほんブログ村

 

Twitterもやっていますので、興味があれば覗いてみてください。

それではまた!!

 

 オススメ記事

www.higashisalary.com

www.higashisalary.com