5、VBAによるマクロの作成(応用編)
5−5、グラフの作成
マクロプログラムによるグラフの操作
2000年下半期の電化製品売り上げのグラフ(縦棒グラフ)を作成してみます。
- まずシートにグラフの元となる以下の表を記入し、データの準備をします。
- 次にVB Editorを起動します。
「挿入」メニューから、「標準モジュール」を選択し、新しいシートを準備します。
- そこに、以下のコードを記述します。
(注)コードの改行
1行が長くなってしまい、コードが記述しにくかったり、見にくかったりする時は「半角スペース」+「アンダースコア」(実際に記述すると「 _」)を使って改行することができます。
これを使って改行されている場合は、1行のコードとしてみなされます。Sub GraphSample()
Charts.Add
With ActiveChart
.ChartType = xlColumnClustered
.SetSourceData Source := Worksheets("Sheet1"). _
Range("A2:E8") , PlotBy := xlColumns
.Location Where := xlLocationAsObject , _
Name := "Sheet1"
End With
Range("A1").Select
End Sub
【このコードの解説】
- Charts.Add
「Chart」とは、グラフを表わす記述で、「Charts.Add」はグラフを追加するという命令になります。
- With ActiveChart 〜 End With
「ActiveChart」とは直前に追加したグラフのことです。
このグラフについて、「With 〜 End With」に囲まれた部分の設定を行います。
- .ChartType = xlColumnClustered
グラフの種類(ChartType)を選択します。ちなみに「xlColumnClustered」は「集合縦棒」グラフを表わします。
- .SetSourceData Source := Worksheets("Sheet1"). _
Range("A2:E8") , PlotBy := xlColumns
グラフの元データを指定します。今回の場合、「Sheet1のA2からE8に囲まれた部分」をデータとして指定します。
「PlotBy := xlColumns」の部分ではデータの系列を指定するもので、今回の場合、列(xlColumns)を指定しています。
- .Location Where := xlLocationAsObject , _
Name := "Sheet1"
これはグラフ(Chart)を表示する場所を指定するもので、この記述だと、「Sheet1」に表示するという意味です。
このマクロを実行すると以下のようなグラフが作成されます。
+α講座
前述したように、Excelのグラフは実に多種多彩です。しかし、今回紹介したのは縦棒グラフ1つのみです。自分の好みのグラフを作成したい時は、マクロの自動記録を利用し、実際にグラフを作成してみて、希望のグラフがどのように記述されているかを確認し、マクロに応用することをおすすめします。