Excelシート内のグラフの軸のメモリを一括で変更するマクロを紹介!

スポンサードリンク

複数のグラフを使ってデータの時間変化などを調べるといったことを行う時、全てのグラフで横軸のメモリを揃えたいと思うことありますよね。

古いバージョンのExcelでしたら、一つ前に行った操作を「F4」キーで繰り返すことが多くの場合できたので、一つのグラフで横軸のメモリを調整して、あとは変更したいグラフの軸を選択した状態で「F4」を押していけばよかったのですが、残念ながら最新のExcelではこれができません。

グラフの数が少なければ、手作業でもたいしたことはありませんが、10も20もグラフがあればもうげんなりしてしまいます。

僕と同じようなお悩み、あなたにもはありませんか?

今回はこの「シート内のグラフの軸のメモリを一括で変更する」作業を効率よく、ささっと片付けてしまう方法を紹介していきます!

さて、今回の問題にどう対処するか?

実はこの問題、ExcelのVBAを使ってというマクロをつくると簡単に処理できるんですよ。

「シート内のグラフの軸のメモリを一括で変更する」操作を効率よく行いたいあなた!

是非この方法を参考にしてみてくださいね。
このページの中では、今回紹介する「シート内のグラフの軸のメモリを一括で変更する」マクロを組み込んだExcelファイルをダウンロードできるようにしています。

これを使えば、一からExcelを作り込む必要もありませんよ。ファイルを手にした瞬間、作業スピードは一気に早まります!是非使ってみてくださいね。

では本編スタートです!

スポンサードリンク

『シート内のグラフの軸のメモリを一括で変更する』には?まずは問題を整理しよう!

今回解決するのはシート内のグラフの軸のメモリを一括で変更するという面倒な作業をExcelにまかせて手軽に自動で終わらせたいと
いうものですね。

この作業を手作業で行うには、

  • グラフの軸を選択し右クリックしメニューを表示
  • 「軸の書式設定」を選択
  • 最大値や最小値、メモリの刻みなどを入力

これでやっと一つのグラフの設定が済み、あとは同じことを全てのグラフに対して実施していくという手順をとるのが普通なのではないでしょうか。

一つひとつの作業はさほど難しいものではありませんよね。しかし、この作業を必要な数だけ繰り返さなければいけません。これが大変なんですよね~。

この手順をExcelで自動化してしまいましょう!

『シート内のグラフの軸のメモリを一括で変更する』方針をチェック!

ここでは、シート内のグラフの軸のメモリを一括で変更するという作業をExcelに実施させるためにはどうすればよいかをみていきます。
一つひとつ手作業で行うには、上で書いた

この作業を手作業で行うには、

  • グラフの軸を選択し右クリックしメニューを表示
  • 「軸の書式設定」を選択
  • 最大値や最小値、メモリの刻みなどを入力

という手作業が必要でしたよね?

今回はこの手順をExcelのマクロ(VBA)をつかって自動で行っていくことにします。ここでは、グラフの横軸(X軸)のメモリを変更することを例題にしますね。

  • まずは、軸の最小値として設定したい数値を取得します
  • 次に、同様に軸の最大値として設定したい数値を取得します
  • 最後に全てのグラフのx軸最小値の設定値と最小値の設定値を取得した数値で置き換えます

これをVBAで書けば今回のシート内のグラフの軸のメモリを一括で変更するという作業は一発で一瞬で完了します!しかも処理はプログラムした内容に従って、いつでも何度でも実施できるので、処理を間違ってしまうということもありません!

スポンサードリンク

『シート内のグラフの軸のメモリを一括で変更する』作業をExcelで解決!

ではシート内のグラフの軸のメモリを一括で変更するという課題を解決する、具体的なマクロの記述をみていきましょうね!VBAで書いたリストは次の通りです!

軸の設定値とする最小値および最大値は、今回Inputboxで入力することとしました。

Attribute VB_Name = "Module1"
'***********************************************************
'** 仕事サクサク!定時退社のために EXCEL GO! GO!
'** (URL:https://excelgogo.net/)
'** 是非ご活用ください♪
'***********************************************************
Sub グラフのx軸を変更する()

Dim chrtObj As ChartObject
Dim max As Double, min As Double
Dim num As String

Application.ScreenUpdating = False
On Error GoTo errhandler

num = InputBox("x軸の最小値を設定してください。", "入力", "")
If num <> "" Then
min = num
ElseIf num = "" Then
MsgBox "最小値の入力がありませんでした。マクロを終了します。"
Exit Sub
End If

num = InputBox("x軸の最大値を設定してください。", "入力", "")
If num <> "" Then
max = num
ElseIf num = "" Then
MsgBox "最大値の入力がありませんでした。マクロを終了します。"
Exit Sub
End If

For Each chrtObj In ActiveSheet.ChartObjects
    With chrtObj.Chart
        With .Axes(xlCategory) 'Y軸の変更をする場合は、.Axes(xlValue)に変更
            .MinimumScale = min
            .MaximumScale = max
'            .MajorUnit = 10
'            .MinorUnit = 10
        End With
    End With
Next
GoTo lineend
errhandler:
MsgBox "入力には半角数字を使用してください。", , "注意"

lineend:
Application.ScreenUpdating = True
    
End Sub

この例では、x軸の最大値と最小値を変更することとしましたが、上のプログラムのコメントに書いているように、xlCategoryをxlValueに変更すればy軸の最大値、最小値が変更できます。このときはついでにメッセージボックスに表示する”x軸の…”を”y軸の…”にしてくださいね。

また、主メモリ間隔、補助メモリ間隔も変えたい場合には、最大値や最小値を指定するのと同じ方法で、これらの値を指定できるようにし、プログラム上で行の先頭に ‘ をつけて無効にしている.MajorUnit = 10(主メモリ間隔)、.MinorUnit = 10(補助メモリ間隔)の10の部分を読み込んだ値にしてください。行の先頭の ‘ を消すとこの行も意味をなすようになります。

まとめ

今回は、『シート内のグラフの軸のメモリを一括で変更する』という問題をExcelのマクロをつかって自動化し、作業を効率化する方法を紹介しました。

・グラフの軸を選択し右クリックしメニューを表示
・「軸の書式設定」を選択
・最大値や最小値、メモリの刻みなどを入力

という地味で辛い作業を、

・軸の最小値として設定したい数値を取得
・軸の最大値として設定したい数値を取得
・全てのグラフのx軸最小値の設定値と最小値の設定値を取得した数値で置き換える

という手順にし、マクロにするところがポイントです。

上で紹介したExcelファイルも是非お使いくださいね。プログラムを書く時間も短縮できると思います。

 

ある機能をExcelで実現するとき、その方法は一つだけとは限りません。

ExcelVBAで使用できる機能をフルに使ってシンプルに作ることもできます。ただこれにはそれなりの勉強が必要。すぐには使えず、今すぐ問題を解決したいとい状況にはあいません。ですので、このブログで紹介するマクロは、できるだけ簡単なもの、VBAにそう詳しくなくても読めそうなもの、手を加えやすいものになるように心がけています。

マクロって難しそう、と敬遠していた方にマクロって意外とお手軽ね!と感じていただき、これを応用すればあの作業も自動化できるかも!と次のステップやアクションにつなげていただければと思います。

Excelのスキルを一気に向上させて、ライバルに差をつけたい、仕事を一気にさばいてスピードアップしたい、スキルを身に着けて転職や就職に役立てたいと思ったあなた!ぜひ下のボタンをクリックしてください!
募集締め切りが迫っているので、期間限定で「短期間で実力の向上が見込めるお手頃な方法」を紹介していますよ。

ホントは管理人Goも早く知りたかった!オンラインブートキャンプで、
見やすいデータをより早く仕上げる Excel術をマスターしよう!

 

『シート内のグラフの軸のメモリを一括で変更する』Excelマクロのサンプルをプレゼント

今回紹介した

  • 軸の最小値として設定したい数値を取得
  • 軸の最大値として設定したい数値を取得
  • 全てのグラフのx軸最小値の設定値と最小値の設定値を取得した数値で置き換える

という機能をもたせたマクロを実装したExcelファイル、プログラムを記載したbasファイルが下からダウンロードできます。

 

お好きな形式のファイルをダウンロードして、実際に動かしてみたり、あなたの課題にあわせてExcelを調整して作業時間短縮、効率化に役立ててみてください!

basファイルって何?どう使うの?という方やマクロはどのようにして実行するの?と疑問に思った方は、関連記事もチェックしてみてくださいね。


 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter でExcel GO! GO!をフォローしよう!

スポンサードリンク

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

話題をチェック!

  1. 2018-11-1

    Excelマクロ(VBA)で複数のシート上のグラフに同一の処理を行うには?

    Excelファイル内に複数のシートがあり、この中にグラフがいくつも入っているとします。 これら…
  2. 2018-9-30

    Excelの関数を使ったデータ比較法!INDIRECTとMATCHを活用する!

    最新データと一週間前のデータにどんな違いがあるのか比較してチェックしたい! でも、ひとつひとつ…
  3. 2018-7-16

    Excel マクロ(VBA)でグラフ(散布図)を大量自動作成!

    Excelはグラフを簡単につくれるのも魅力ですが、つくらなければいけないグラフが多いと、この作業も大…
ページ上部へ戻る