福地工房

福地工房

新米メーカー技術者が工作したり遊んだりしています。

グラフの体裁を一発で整えるExcelマクロ

趣味や仕事の関係上、散布図を作る機会が多く、Excelで散布図を作るたびに体裁を整える(色を変えたり、凡例を付けたり、タイトルを消したり、軸ラベルを付けたり…)のが煩わしく感じていました。
今回は、そんな作業をVBAで処理できるようにしたので、本記事で紹介します。

記事の下部にコードを載せているので、ご自由にお使いください。
プログラムの中身に関するご質問には答えたり答えなかったりしますが、これを使用したことによって生じた問題については一切の責任を負いませんので予めご了承ください。

機能

下の動画のように、グラフをアクティブにし、マクロを実行するとあらかじめ設定していた体裁の散布図になる(マクロ実行は0:08~0:10)。
資料等に転載する際に大概必要となる、体裁や大きさをポチポチ整える作業を短縮できる。

使い方

グラフをクリック(アクティブに)して、マクロを実行する。
※あらかじめショートカットを登録しておくと楽。例えばCtrl+gとか(”グラフ”の”g”)。

プログラムの概要

変数"cht"に現在アクティブなグラフの名称を収納
→"cht"のチャートタイプを選択(折れ線付き散布図)
→グラフタイトルと外枠を消し、軸ラベルを追加
→.SeriesCollection.Countプロパティで系列の数を拾う
→それぞれの系列の色やプロットの形を設定する
→凡例の書式を設定
→グラフの大きさを拾う

基本的には全部ググって実装した。
VBA初心者である私が苦労した点は、アクティブなグラフ情報を拾う機能をどうVBAで書くかという点。
結果的に、アクティブなグラフ情報を拾う方法は、Yahoo知恵袋の素晴らしいアドバイスよりアイデアを拝借。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1139015571

拡張性

ユーザーフレンドリーな感じに書いてはいないが、コードの中で変数を変えることで下記の内容をカスタムできる。

  • 散布図の種類(折れ線、平滑線の有無)
  • プロットや線の配色
  • 凡例の書式(書体や大きさ)
  • グラフのサイズ

配色は適当に視認性がよさそうなものを入れている。また、7色目以降はとりあえず黒を入れた。
(RGBに変数を入れてグラデーショナルに変化させる…ということもできそう)


使用する際は、下記のコードをExcelファイルのVBEモジュールにコピー&ペーストしてください。
  ↓↓↓