プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説します。今回は、グラフ作成、折れ線/円など種類の指定、グラフタイトルやデータラベル、マーカー表示の方法などについて【Windows 10、Excel 2016に対応】。
プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説する本連載「Excelマクロ/VBAで始める業務自動化プログラミング入門」。前回の「Excelの醍醐味! 明日からできるデータの並べ替え、検索、置換、抽出」で紹介したデータ操作と同じく、グラフはExcelとは切っても切れない仲だ。
各種統計データの値をいろいろなグラフとして表示させれば、売り上げの推移、何が一番よく売れているか、など、会社の将来への指針となるべき情報を得ることができる。このグラフを、ボタン1つで作成できるようなマクロを作れば、味気ない数値だらけのデータも、意味するところが一目瞭然で理解できるようになる。
データの理解を深める意味でもデータをグラフ化しておくことは重要だ。値を変更するとリアルタイムに変更がグラフに反映される。なんと素晴らしいことではないか。このようなグラフ作成をマクロ化しない手はない。
ボタンクリック1つで自由自在に、さまざまな種類のグラフが作成できるようになるので、会議の資料や、プレゼンテーションで使用すれば、あなたへの評価が上がることだろう。会議の資料や、プレゼンテーションにグラフが入っているのといないのとでは、上司や幹部に訴える力が数倍違ってくる。
ぜひ、今回紹介するマクロを参考にアレンジして、各自の職場で日常の業務に取り入れてほしい。頑張ってグラフのマクロ化に挑戦してみよう。
まずは統計に欠かせない、数値データの基本的な操作として、合計と平均をマクロで計算させてみよう。
データの合計や平均を求めるのは、日常茶飯事で行われている業務処理だ。このような処理を手作業で行っていると、「時代錯誤も甚だしい」と笑われてしまう。「そんな会社に将来性はない!」といっても過言ではない。「Excelは使っているけど、マクロ化はしていない」という読者がいるなら、この連載を参考に、ぜひ業務のマクロ化に挑戦し、業務改革を行ってほしいと思う。
図1のような表があるとしよう。
図1で「合計と平均」ボタンをクリックすると「合計」と「平均」が表示されるようにするVBAは、リスト1だ。
Option Explicit Sub 合計と平均を表示() Worksheets("Sheet1").Range("C12").Formula = "=SUM(C4:C11)" Worksheets("Sheet1").Range("C13").Formula = "=AVERAGE(C4:C11)" End Sub
セルに数式を入力するには、Formulaプロパティを使用する。書式は下記のように指定する。
WorkSheetsコレクション.Rangeオブジェクト.Formula="{数式}"
このリスト1のマクロを「合計と平均」ボタンに関連付ける。実行すると図2のように「合計」と「平均」が表示される。
ここからはグラフ操作について解説する。
図3のようなデータがあったとする。
これをグラフ化するには、VBAではAddChartメソッドを使用する。書式は下記の通りだ。
Sheet.Shapesオブジェクト.AddChart
Shapesオブジェクトを使用するとワークシート上にオートシェイプや画像を追加できる。
アクティブなシートに、図3のデータを基に棒グラフを表示するマクロはリスト2のようになる。
Sub グラフの作成() Range("C3:F11").Select ActiveSheet.Shapes.AddChart End Sub
グラフを作成する「C3のセル」〜「F11のセル」を選択して、アクティブなシートにAddChartメソッドでグラフを作成した。「グラフの作成」というボタンを追加して、このボタンにリスト2のマクロを登録した。
実行すると、図4のようになる。
図4を見ると、グラフにタイトルが表示されていない。次ページでは、グラフにタイトルを表示してみよう。
Copyright © ITmedia, Inc. All Rights Reserved.