グラフの種類を変える


ChartTypeプロパティに定数を指定する

グラフの種類を、折れ線グラフに変更してみます。Excel 2007では次のようにします。

Sub Sample()
    ActiveSheet.ChartObjects(1).Chart.ChartType = xlLine
End Sub

CartTypeプロパティには、グラフを表す定数を指定します。指定できる定数は次の通りです。

定数 意味
xl3DArea -4098 3-D 面
xl3DAreaStacked 78 3-D 積み上げ面
xl3DAreaStacked100 79 100% 積み上げ面
xl3DBarClustered 60 3-D 集合横棒
xl3DBarStacked 61 3-D 積み上げ横棒
xl3DBarStacked100 62 3-D 100% 積み上げ横棒
xl3DColumn -4100 3-D 縦棒
xl3DColumnClustered 54 3-D 集合縦棒
xl3DColumnStacked 55 3-D 積み上げ縦棒
xl3DColumnStacked100 56 3-D 100% 積み上げ縦棒
xl3DLine -4101 3-D 折れ線
xl3DPie -4102 3-D 円
xl3DPieExploded 70 分割 3-D 円
xlArea 1
xlAreaStacked 76 積み上げ面
xlAreaStacked100 77 100% 積み上げ面
xlBarClustered 57 集合横棒
xlBarOfPie 71 補助縦棒グラフ付き円
xlBarStacked 58 積み上げ横棒
xlBarStacked100 59 100% 積み上げ横棒
xlBubble 15 バブル
xlBubble3DEffect 87 3-D 効果付きバブル
xlColumnClustered 51 集合縦棒
xlColumnStacked 52 積み上げ縦棒
xlColumnStacked100 53 100% 積み上げ縦棒
xlConeBarClustered 102 集合円錐型横棒
xlConeBarStacked 103 積み上げ円錐型横棒
xlConeBarStacked100 104 100% 積み上げ円錐型横棒
xlConeCol 105 3-D 円錐型縦棒
xlConeColClustered 99 集合円錐型縦棒
xlConeColStacked 100 積み上げ円錐型縦棒
xlConeColStacked100 101 100% 積み上げ円錐型縦棒
xlCylinderBarClustered 95 集合円柱型横棒
xlCylinderBarStacked 96 積み上げ円柱型横棒
xlCylinderBarStacked100 97 100% 積み上げ円柱型横棒
xlCylinderCol 98 3-D 円柱型縦棒
xlCylinderColClustered 92 集合円錐型縦棒
xlCylinderColStacked 93 積み上げ円錐型縦棒
xlCylinderColStacked100 94 100% 積み上げ円柱型縦棒
xlDoughnut -4120 ドーナツ
xlDoughnutExploded 80 分割ドーナツ
xlLine 4 折れ線
xlLineMarkers 65 マーカー付き折れ線
xlLineMarkersStacked 66 マーカー付き積み上げ折れ線
xlLineMarkersStacked100 67 マーカー付き 100% 積み上げ折れ線
xlLineStacked 63 積み上げ折れ線
xlLineStacked100 64 100% 積み上げ折れ線
xlPie 5
xlPieExploded 69 分割円
xlPieOfPie 68 補助円グラフ付き円
xlPyramidBarClustered 109 集合ピラミッド型横棒
xlPyramidBarStacked 110 積み上げピラミッド型横棒
xlPyramidBarStacked100 111 100% 積み上げピラミッド型横棒
xlPyramidCol 112 3-D ピラミッド型縦棒
xlPyramidColClustered 106 集合ピラミッド型縦棒
xlPyramidColStacked 107 積み上げピラミッド型縦棒
xlPyramidColStacked100 108 100% 積み上げピラミッド型横棒
xlRadar -4151 レーダー
xlRadarFilled 82 塗りつぶしレーダー
xlRadarMarkers 81 データ マーカー付きレーダー
xlStockHLC 88 高値 - 安値 - 終値
xlStockOHLC 89 始値 - 高値 - 安値 - 終値
xlStockVHLC 90 出来高 - 高値 - 安値 - 終値
xlStockVOHLC 91 出来高 - 始値 - 高値 - 安値 - 終値
xlSurface 83 3-D 表面
xlSurfaceTopView 85 表面 (トップ ビュー)
xlSurfaceTopViewWireframe 86 表面 (トップ ビュー - ワイヤーフレーム)
xlSurfaceWireframe 84 3-D 表面 (ワイヤーフレーム)
xlXYScatter -4169 散布図
xlXYScatterLines 74 折れ線付き散布図
xlXYScatterLinesNoMarkers 75 折れ線付き散布図 (データ マーカーなし)
xlXYScatterSmooth 72 平滑線付き散布図
xlXYScatterSmoothNoMarkers 73 平滑線付き散布図 (データ マーカーなし)

Excel 2003のコードは動くか

Excel 2003で、グラフ種類を変更する操作をマクロ記録すると、次のようなコードが生成されます。

Sub Macro()
    ActiveSheet.ChartObjects(1).Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartType = xlLine
End Sub

ChartTypeプロパティに設定できる定数は、Excel 2007と同じです。

【Excel 2007での実行結果】

問題ないですね。Excel 2003のコードは、そのままExcel 2007でも動作します。