◆ 1秒でグラフを作る方法
仕事でグラフを作る際は、データを差し替えて同じようなグラフを毎回作っているケースが多いのではないでしょうか。このようなパターン化されたExcelの操作は、マクロを使うと、秒速で実行することができます。
グラフ作成のルーチンワークは、次のようにまとめると、ワンタッチでも実行することができます。
1. グラフをテンプレート化する
グラフデータの数が変わる場合は、グラフデータの範囲をテーブルに設定する
2. グラフの作成元のデータを最新のデータに差し替える部分をマクロにする
ここでは、『ABC分析グラフ』を例に、グラフを作成しているブックのデータを差し替えてグラフを更新するマクロを解説します。
▽ 『ABC分析グラフ』の特徴
Kindle本で紹介した『ABC分析グラフ』には、次のような特徴があります。- テーブル機能を使ってデータ数の増減に対応する
- テーブルのデータクリアにマクロを使っている
- 目盛調整にマクロを使っている
1. あらかじめ読込元と読込先を指定する
マクロを使って、自動的に別のブックを読み込むには、毎回、読込元のブックを手作業で指定することもできます。読込元のブック名が決まっていたり、前月や前日などの日付が付くようにパターン化されている場合は、『ABC分析グラフ』のように読込元を指定すると手間を省くことができます。あらかじめ読込元と読込先を指定しておくと、ワンタッチでデータを差し替えることができますので、業務の効率化に威力を発揮します。
◇ 『ABC分析グラフ』のマクロ「データ読込」の概略
マクロ「データ読込」は、「データ読込」シートに指定した内容にしたがって次の作業を自動的に実行します。
STEP 1 読込先のデータをクリアして読込元のデータをコピペする
STEP 2 マクロ「目盛調整」を実行する
2. データ読込を設定する
マクロ「データ読込」では読込先に指定したセルにデータを書き込みますので、あらかじめブックをバックアップしておくとよいでしょう。このマクロでは、実際の保存場所・ブック名・ワークシート名・セル番地と入力した文字列が少しでも異なると正常に動作しませんので注意が必要です(特に、英数字の全角/半角)。1. 「◇読込元」を指定する
グラフ化するデータをコピペする際に列見出しを含めると処理が遅くなることがありますので、本テンプレートでは列見出しを除く数値データのみをコピペします。「データ読込」シートにあるセルB4以降に次の内容を入力します。
・ パス名(セルB4)… 読込元のブックの保存場所
・ ブック名(セルB5)… 読込元のブックの名前
・ シート名(セルB6)… 読込元のワークシートの名前
・ 左上端のセル番地(セルB7)… 数値データの左上端のセル番地
・ 列数(セルB8)… 本テンプレートでは「2」
(1) 「パス名」「ブック名」
「パス名」「ブック名」は、[ブック参照] ボタンをクリックして表示される「ファイルを開く」ダイアログボックスから読込元のブックを指定すると、正確に入力することが可能です。

▲ダイアログボックスから選択する
この結果、「パス名」「ブック名」がセルに入力されます。

▲パス名とブック名の入力
(2) 「シート名」「左上端のセル番地」
読込元のデータがあるワークシート名を「シート名」に、この数値データの左上端のセル番地を「左上端のセル番地」に入力します。

▲読込元のシート名と左上端セル
※ コピーする範囲を選択する仕組み
マクロを使って表の範囲を選択する方法はいくつかあります。本書では列見出しの上に単位が入力されていたり、列見出しが複数行になったりしている可能性を考えて、次の操作を自動化して数値データを選択しています。
・ 「左上端のセル番地」から「列数」になるまで右にドラッグして(ここでは2列分だけ選択)
・ [Ctrl]+[Shift]+[↓]キーを押す

▲コピー元のセル範囲の選択
このように自動化すると、「左上端のセル番地」よりも左や上に何が入力されていてもコピーするデータには影響がありません。なお、コピーする範囲には連続して入力され、途中に空白行がないことが必要です。空白行があると、その上までしかコピーすることができません。
2. 「◇読込先」を指定する
マクロ「データ読込」では、読込先に設定されているテーブルのデータをクリアし、読込元からコピーしたデータをグラフがあるワークシートに貼り付けます。この後、マクロ「目盛調整」を実行します。このため、読込先にテーブルがないセル番地やマクロ「目盛調整」がないワークシートを指定すると、エラーになるので注意が必要です。
「データ読込」シートにあるセルB10とB11に次の内容を入力します。
◇読込先
・ シート名(セルB10)… 読込先のワークシートの名前
・ 左上端のセル番地(セルB11)… データ表にある数値データの左上端のセル番地
(1) 「シート名」「左上端のセル番地」
読込先のグラフのデータ表があるワークシート名を「シート名」に、この数値データの左上端のセル番地を「左上端のセル番地」に入力します。

▲読込先のシート名と左上端セル
「色分け」シートにデータを読み込む場合は、「シート名」に「色分け」と入力します。
3. マクロ「データ読込」を実行する
マクロ「データ読込」は、読込元のブックを開いていても、開いていなくても実行することができます。開いていない場合は読込元に指定した「パス名」と「ブック名」に一致するブックがないとエラーメッセージを表示します。このため、マクロ「データ読込」の実行の手順は次の通りです。(1) 読込元のブックを開くか、「パス名」と「ブック名」に一致するブックを確認する。
(2) 「データ読込」シートにある [読込] ボタンをクリックまたは [Ctrl]+[q] キーを押す。このショートカットキーは、「データ読込」シート以外のワークシートを表示している際に便利です。
このマクロでは、次のような操作を自動化しています。
まず、読込先にあるデータをクリアします。

▲読込先のデータのクリア
次に、読込元のデータを読込先にコピペして、グラフの目盛を調整します。データをコピーする際に読込元のブックが開いていない場合は、このブックを開いてからコピーします。

▲読込先に貼り付けて目盛の調整
最後に、データの読込処理を完了すると、次のような完了メッセージを表示します。

▲データ読込完了のメッセージ
4. 発展
このマクロでは、別のブックにある1つのセル範囲を読み込みましたが、次のようなことも可能です。- データを差し替えずに、データを追加していく
- 別のブックをとりまとめる
- データベースなどから直接Excelにデータを取り込む
▼「グラフ作成」の検索結果
スポンサードリンク