VBAでグラフを表示する
EXCELでグラフを表示して見ましょう。
F3:J6にグラフのデータソースがあるとして、A1:D10にグラフを表示します。
以下は、そのサンプルです。
サンプル
Range("F3").Value = "行列タイトル" Range("F4").Value = "行タイトル1" Range("F5").Value = "行タイトル2" Range("F6").Value = "行タイトル3" Range("G3").Value = "列タイトル1" Range("G4").Value = 2 Range("G5").Value = 3 Range("G6").Value = 4 Range("H3").Value = "列タイトル2" Range("H4").Value = 2 Range("H5").Value = 3 Range("H6").Value = 4 Range("I3").Value = "列タイトル3" Range("I4").Value = 2 Range("I5").Value = 3 Range("I6").Value = 4 Range("J3").Value = "列タイトル4" Range("J4").Value = 2 Range("J5").Value = 3 Range("J6").Value = 4 'グラフの表示位置を確定する。 Dim ranPosi As Range Set ranPosi = Range("A1:D10") '*1 'グラフの表示する。 With ActiveSheet.ChartObjects.Add(Left:=ranPosi.Left, Top:=ranPosi.Top, _ Width:=ranPosi.Width, Height:=ranPosi.Height) '*2 .Chart.ChartType = xlColumnStacked '*3 .Chart.SetSourceData Source:=ActiveSheet.Range("F3:J6"), PlotBy:=xlRows ' *4 .Chart.Location where:=xlLocationAsObject, Name:="Sheet1" '*5 .Name = "グラフ01" '*6 End With '表示したグラフの縦方向の軸名を設定する。 ActiveSheet.ChartObjects("グラフ01").Activate '*7 ActiveChart.ChartArea.Select '*8 With ActiveChart .Axes(xlValue, xlPrimary).HasTitle = True '*9 .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "台数" '*10 End With
説明
- *1、Rangeでグラフの表示位置を確定する。
- *2、Addメソッドでグラフの追加する。引数は以下の通り。
- Left:埋め込みグラフの左端位置の指定 [省略不可]
- Top:埋め込みグラフの上端位置の指定 [省略不可]
- Width:埋め込みグラフの幅の指定 [省略不可]
- Height:埋め込みグラフの高さの指定 [省略不可]
- *3、ChartTypeプロパティでグラフの種類(xlColumnStackedは、積み上げ縦棒)を設定する。
- *4、SetSourceDataメソッドでデータソース範囲を設定する。
- Source:グラフのデータソースがあるRange
- PlotBy:データ系列の方向を指定(xlRowsは、行方向)
- *5、Locationメソッドでグラフの場所を設定する。引数は以下の通り。
- where:オブジェクトor新しいシート(xlLocationAsObjectは、オブジェクト)
- Name:引数WhereがxlLocationAsObjectの場合、グラフを貼り付けるシート名。
- *6、Nameプロパティは、グラフのオブジェクト名を設定する。
- *7、グラフのオブジェクトをアクティブ
- *8、グラフのオブジェクトをセレクト
- *9、主軸数値軸(xlValue, xlPrimary)軸ラベル表示
- *10、主軸数値軸(xlValue, xlPrimary)軸ラベル文字列設定