複数のグラフを使ってデータの時間変化などを調べるといったことを行う時、全てのグラフで横軸のメモリを揃えたいと思うことありますよね。
古いバージョンのExcelでしたら、一つ前に行った操作を「F4」キーで繰り返すことが多くの場合できたので、一つのグラフで横軸のメモリを調整して、あとは変更したいグラフの軸を選択した状態で「F4」を押していけばよかったのですが、残念ながら最新のExcelではこれができません。
グラフの数が少なければ、手作業でもたいしたことはありませんが、10も20もグラフがあればもうげんなりしてしまいます。
僕と同じようなお悩み、あなたにもはありませんか?
今回はこの「シート内のグラフの軸のメモリを一括で変更する」作業を効率よく、ささっと片付けてしまう方法を紹介していきます!
さて、今回の問題にどう対処するか?
実はこの問題、ExcelのVBAを使ってというマクロをつくると簡単に処理できるんですよ。
「シート内のグラフの軸のメモリを一括で変更する」操作を効率よく行いたいあなた!
是非この方法を参考にしてみてくださいね。
このページの中では、今回紹介する「シート内のグラフの軸のメモリを一括で変更する」マクロを組み込んだExcelファイルをダウンロードできるようにしています。
これを使えば、一からExcelを作り込む必要もありませんよ。ファイルを手にした瞬間、作業スピードは一気に早まります!是非使ってみてくださいね。
では本編スタートです!
Contents
『シート内のグラフの軸のメモリを一括で変更する』には?まずは問題を整理しよう!
今回解決するのはシート内のグラフの軸のメモリを一括で変更するという面倒な作業を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ファイルが下からダウンロードできます。
ajust_xaxis.xlsm
adjust_xaxis.bas
お好きな形式のファイルをダウンロードして、実際に動かしてみたり、あなたの課題にあわせてExcelを調整して作業時間短縮、効率化に役立ててみてください!
basファイルって何?どう使うの?という方やマクロはどのようにして実行するの?と疑問に思った方は、関連記事もチェックしてみてくださいね。
最新情報をお届けします
Twitter でExcel GO! GO!をフォローしよう!
Follow @go_excelコメント
この記事へのトラックバックはありません。
この記事へのコメントはありません。