【ExcelVBA】AddChart2でシートにグラフを挿入する
更新日:2023/12/01
Excel VBAのAddChart2はシートに散布図や折れ線などのグラフを挿入するメソッドです。
シートに入力されているデータを元に、グラフを生成できます。
AddChart2の構文
AddChart2は Shapesオブジェクトのメソッドです。
構文は、次のようになっています。
Shapesオブジェクト.AddChart2(Style, XlChartType, Left, Top, Width, Height, NewLayout)
引数は省略可能です。
AddChart2呼び出し後に、対応するプロパティで設定できます。
(NewLayoutは不明)
引数 | 対応プロパティ |
---|---|
Style | 戻り値.Chart.ChartStyle |
XlChartType | 戻り値.Chart.ChartType |
Left | 戻り値.Left |
Top | 戻り値.Top |
Width | 戻り値.Width |
Height | 戻り値.Height |
■戻り値
追加されたShapeオブジェクトを返します。
AddChart2の使い方
AddChart2で追加したグラフは、グラフの元となる値を指定する必要があります。
グラフの元となる値は、AddChart2が返したShapeオブジェクトのChart.SetSourceDataメソッドで指定します。
Sub addChart2Sample()
Dim graph As Shape
' 散布図を作成
Set graph = Sheets("sheet1").Shapes.AddChart2(-1, _
xlXYScatter, 400, 100, 400, 400, True)
' 元となるデータを指定
graph.Chart.SetSourceData Sheets("sheet1").Range("A3:B9")
End Sub
Chart.SetSourceDataの構文は、次のようになっています。
Chart.SetSourceData(Source, PlotBy)
- Source: Rangeオブジェクト
- PlotBy: 省略可能。
xlColumns データの系列が行にある
xlRows データの系列が列にある
AddChart2とAddChartの違い
AddChartメソッドはOffice2013より前のバージョンで使用されていたメソッドです。
現バージョンでも互換性を保つために使用できますが、非推奨となっています。
今後はAddChartを使用せずに、AddChart2でグラフを挿入します。
Styleの調べ方
グラフの種類毎に複数のスタイルが用意されていますが、Styleで使用できる値の公式資料がありません。
そこで、マクロの登録機能で確認します。
- グラフの元となる値をシートに入力する
- マクロの記録を開始する
- グラフを挿入する
- VBEで記録中のマクロ(SUBプロシージャ)を表示する
- Excelでグラフの種類やスタイルを変更する
- VBEでActiveChart.ChartStyleの値を確認する
XlChartTypeの値
XlChartTypeは、次の定数または値を指定できます。
種類 | 定数 | 値 |
---|---|---|
散布図 | xlXYScatter | -4169 |
レーダー | xlRadar | -4151 |
ドーナツ | xlDoughnut | -4120 |
3D 円 | xl3DPie | -4102 |
3D 折れ線 | xl3DLine | -4101 |
3D 縦棒 | xl3DColumn | -4100 |
3D 面 | xl3DArea | -4098 |
分野 | xlArea | 1 |
折れ線 | xlLine | 4 |
円 | xlPie | 5 |
バブル | xlBubble | 15 |
集合縦棒 | xlColumnClustered | 51 |
積み上げ縦棒 | xlColumnStacked | 52 |
100%積み上げ縦棒 | xlColumnStacked100 | 53 |
3D集合縦棒 | xl3DColumnClustered | 54 |
3D積み上げ縦棒 | xl3DColumnStacked | 55 |
3D 100%積み上げ縦棒 | xl3DColumnStacked100 | 56 |
集合横棒 | xlBarClustered | 57 |
積み上げ横棒 | xlBarStacked | 58 |
100%積み上げ横棒 | xlBarStacked100 | 59 |
3D 集合横棒 | xl3DBarClustered | 60 |
3D 積み上げ横棒 | xl3DBarStacked | 61 |
3D 100% 積み上げ横棒 | xl3DBarStacked100 | 62 |
積み上げ折れ線 | xlLineStacked | 63 |
100%積み上げ折れ線 | xlLineStacked100 | 64 |
マーカー付き折れ線 | xlLineMarkers | 65 |
マーカー付き積み上げ折れ線 | xlLineMarkersStacked | 66 |
マーカー付き100%積み上げ折れ線 | xlLineMarkersStacked100 | 67 |
補助円グラフ付き円 | xlPieOfPie | 68 |
分割円 | xlPieExploded | 69 |
分割3D円 | xl3DPieExploded | 70 |
補助縦棒グラフ付き円 | xlBarOfPie | 71 |
平滑線付き散布図 | xlXYScatterSmooth | 72 |
平滑線付き散布図 (データ マーカーなし) | xlXYScatterSmoothNoMarkers | 73 |
折れ線付き散布図 | xlXYScatterLines | 74 |
折れ線付き散布図 (データ マーカーなし) | xlXYScatterLinesNoMarkers | 75 |
積み上げ面 | xlAreaStacked | 76 |
100%積み上げ面 | xlAreaStacked100 | 77 |
3D 積み上げ面 | xl3DAreaStacked | 78 |
100%積み上げ面 | xl3DAreaStacked100 | 79 |
分割ドーナツ | xlDoughnutExploded | 80 |
データマーカー付きレーダー | xlRadarMarkers | 81 |
塗りつぶしレーダー | xlRadarFilled | 82 |
3D 表面 | xlSurface | 83 |
3D 表面 (ワイヤーフレーム) | xlSurfaceWireframe | 84 |
表面 (トップ ビュー) | xlSurfaceTopView | 85 |
表面 (トップ ビュー - ワイヤーフレーム) | xlSurfaceTopViewWireframe | 86 |
3D 効果付きバブル | xlBubble3DEffect | 87 |
高値 - 安値 - 終値 | xlStockHLC | 88 |
始値 - 高値 - 安値 - 終値 | xlStockOHLC | 89 |
出来高 - 高値 - 安値 - 終値 | xlStockVHLC | 90 |
出来高 - 始値 - 高値 - 安値 - 終値 | xlStockVOHLC | 91 |
集合円錐型縦棒 | xlCylinderColClustered | 92 |
積み上げ円錐型縦棒 | xlCylinderColStacked | 93 |
100%積み上げ円柱型縦棒 | xlCylinderColStacked100 | 94 |
集合円柱型横棒 | xlCylinderBarClustered | 95 |
積み上げ円柱型横棒 | xlCylinderBarStacked | 96 |
100%積み上げ円柱型横棒 | xlCylinderBarStacked100 | 97 |
3D 円柱型縦棒 | xlCylinderCol | 98 |
集合円錐型縦棒 | xlConeColClustered | 99 |
積み上げ円錐型縦棒 | xlConeColStacked | 100 |
100%積み上げ円錐型縦棒 | xlConeColStacked100 | 101 |
集合円錐型横棒 | xlConeBarClustered | 102 |
積み上げ円錐型横棒 | xlConeBarStacked | 103 |
100%積み上げ円錐型横棒 | xlConeBarStacked100 | 104 |
3D 円錐型縦棒 | xlConeCol | 105 |
集合ピラミッド型縦棒 | xlPyramidColClustered | 106 |
積み上げピラミッド型縦棒 | xlPyramidColStacked | 107 |
100%積み上げピラミッド型横棒 | xlPyramidColStacked100 | 108 |
集合ピラミッド型横棒 | xlPyramidBarClustered | 109 |
積み上げピラミッド型横棒 | xlPyramidBarStacked | 110 |
100%積み上げピラミッド型横棒 | xlPyramidBarStacked100 | 111 |
3D ピラミッド型縦棒 | xlPyramidCol | 112 |
マップグラフ | xlRegionMap | 140 |
更新日:2023/12/01
関連記事
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。