■Excelのグラフウィザード機能を、そのままVBAのコードで実行してグラフを作成する
chartオブジェクトの「ChartWizard」メソッドを使います。このメソッドを使えば、チャート
の種類や元データのセル範囲、プロット方法、項目ラベルの設定、グラフの見出しなど、グラフ
を構成する要素のほとんどを、名前付き引数で設定できます。「ChartWizard」メソッドを使う
場合は、対象オブジェクトにワークシート名とChartオブジェクトを記述します。そして、名前
付き引数に、設定したい値を定数で代入します。
chart.ChartWizard(Source, Gallery, Format, PlotBy, CategoryLabels,
SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle,
ExtraTitle)
Source 新しくグラフ化するデータのセル範囲を指定します。
Gallery グラフの種類を定数で指定します。グラフウィザードでは、最初の
画面の「グラフの種類」に相当します。
Format 組み込みグラフのさらに細かい種類を番号で指定します。グラフの
種類によって1から10までの数を指定します。グラフウィザード
では、最初の画面の「形式」に相当します。
PlotBy データ系列の方向を指定します。使用できる定数は、「xlRows」
または「xlColumns」です。
CategoryLabels グラフ化する元データ範囲のうち、項目ラベルにする行または列を
整数で指定します。0から項目数-1またはデータ系列数-1までの
範囲で指定します。
SeriesLabels グラフ化する元データ範囲のうち、データ系列ラベルを含む行
または列を示す整数を指定します。0から項目数-1またはデータ
系列数-1までの範囲で指定できます。数字が多いと、グラフ化
される項目が減ります。
HasLegend 凡例を表示するかどうかを設定します。表示する場合はTrueを
指定します。
Title グラフのタイトルに使う文字列を指定します。
CategoryTitle 項目軸のタイトルに使う文字列を指定します。
ValueTitle 数値軸のタイトルに使う文字列を指定します。
ExtraTitle 3-Dグラフの系列軸、または2-Dグラフの第2数値軸のタイトル
に使う文字列を指定します。
例.Grp1.Chart.ChartWizard Source:=WS.Range("A1:F7"),
_
Gallery:=xl3DBar, Format:=4, PlotBy:=xlRows, _
CategoryLabels:=1, SeriesLabels:=1, HasLegend:=1, _
Title:="テスト成績", CategoryTitle:="",
ValueTitle:="", _
ExtraTitle:=""
■ブックにグラフシートを挿入する
Chartオブジェクトを使ってAddメソッドを実行します。Addメソッドを実行すると、作成
されたグラフシートのオブジェクトを返してきますので、それをSetステートメントで
変数に格納します。
Set Crt = Charts.Add
■グラフの形式を設定する
ChartsオブジェクトのChartTypeプロパティを使います。値は定数で、グラフのタイプを
指定します。
例. Crt.ChartType = xl3DColumn
■グラフシート内のチャートにグラフ化するデータのセル範囲とプロットタイプを指定する
ChartsオブジェクトのSetSourceDataメソッドを使います。
例. Crt.SetSourceData Source:=WS.Range("A1:F7"), PlotBy:=xlColumns
■グラフシートの名前を変える
ChartsオブジェクトのNameプロパティを使います。
例. Crt.Name = "成績表"