連載
» 2016年08月26日 05時00分 公開

Excelマクロ/VBAで始める業務自動化プログラミング入門(8):Excelグラフの基本的な作り方――わかりやすい効果的なプレゼン/会議資料作成のために (3/4)

[薬師寺国安,PROJECT KySS]

ChartTypeプロパティで、円や折れ線などさまざまなグラフの種類を設定

 グラフの種類を設定するにはChartTypeプロパティを使用する。書式は下記の通りだ。

ChartTypeプロパティの書式

Chartオブジェクト.ChartType={表2の値}


表2 グラフの種類
メンバー名 グラフの種類
xlLine 折れ線
xlLineMarkersStacked データマーカー付き積み上げ折れ線
xlLineStacked 積み上げ折れ線
xlPie
xlPieOfPie 補助円グラフ付き円
xlPyramidBarStacked 積み上げピラミッド横棒
xlPyramidCol 3-D ピラミッド縦棒
xlPyramidColClustered 集合ピラミッド縦棒
xlPyramidColClustered 集合ピラミッド縦棒
xlPyramidColStacked 積み上げピラミッド縦棒
xlPyramidColStacked100 100%積み上げピラミッド縦棒
xlRadar レーダー
xlRadarFilled 塗りつぶしレーダー
xlRadarMarkers データマーカー付きレーダー
xlStockHLC 高値 - 安値 - 終値
xlStockOHLC 始値 - 高値 - 安値 - 終値
xlStockVHLC 出来高 - 高値 - 安値 - 終値
xlStockVOHLC 出来高 - 始値 - 高値 - 安値 - 終値
xlSurface 3-D 等高線
xlSurfaceTopView 等高線(トップ ビュー)
xlSurfaceTopViewWireframe 等高線(トップ ビュー - ワイヤフレーム)
xlSurfaceWireframe 3-D 等高線(ワイヤフレーム)
xlXYScatter 散布図
xlXYScatterLines 折れ線付き散布図
xlXYScatterLinesNoMarkers 折れ付き散布図(データマーカーなし)
xlXYScatterSmooth 平滑線付き散布図
xlXYScatterSmoothNoMarkers 平滑線付き散布図(データマーカーなし)
xl3DArea 3-D 面
xl3DAreaStacked 3-D 積み上げ面
xl3DAreaStacked100 3-D 100%積み上げ面
xl3DBarClustered 3-D 集合横棒
xl3DBarStacked 3-D 積み上げ横棒
xl3DBarStacked100 3-D 100%積み上げ横棒
xl3DColumn 3-D 縦棒
xl3DColumnClustered 3-D 集合縦棒
xl3DColumnStacked 3-D 積み上げ縦棒
xl3DColumnStacked100 3-D 100%積み上げ縦棒
xl3DLine 3-D 折れ線
xl3DPie 3-D 円
xl3DPieExploded 分割 3-D 円
xlArea
xlAreaStacked 積み上げ面
xlAreaStacked100 100%積み上げ面
xlBarClustered 集合横棒
xlBarOfPie 補助縦棒グラフ付き円
xlBarStacked 積み上げ横棒
xlBarStacked100 100%積み上げ横棒
xlBubble バブル
xlBubble3DEffect 3-D 効果付きバブル
xlColumnClustered 集合縦棒
xlColumnStacked 積み上げ縦棒
xlColumnStacked100 100%積み上げ縦棒
xlConeBarClustered 集合円錐横棒
xlConeBarStacked 積み上げ円錐横棒
xlConeBarStacked100 100%積み上げ円錐横棒
xlConeCol 3-D 円錐縦棒
xlConeColClustered 集合円錐縦棒
xlConeColStacked 積み上げ円錐縦棒
xlConeColStacked100 100%積み上げ円錐縦棒
xlCylinderBarClustered 集合円柱横棒
xlCylinderBarStacked 積み上げ円柱横棒
xlCylinderBarStacked100 100%積み上げ円柱横棒
xlCylinderCol 3-D 円柱縦棒
xlCylinderColClustered 集合円錐縦棒
xlCylinderColStacked 積み上げ円錐縦棒
xlCylinderColStacked100 100%積み上げ円柱縦棒
xlDoughnut ドーナツ
xlDoughnutExploded 分割ドーナツ
xlLineMarkers データマーカー付き折れ線
xlLineMarkersStacked100 データマーカー付き 100%積み上げ折れ線
xlLineStacked100 100%積み上げ折れ線
xlPieExploded 分割円
xlPyramidBarClustered 集合ピラミッド横棒
xlPyramidBarStacked100 100%積み上げピラミッド横棒
参考「XlChartType Enumeration (Microsoft.Office.Interop.Excel) - MSDN

 図6のグラフを折れ線グラフで表示するマクロはリスト6だ。

Sub 折れ線グラフの表示()
  If ActiveSheet.ChartObjects.Count > 0 Then
    ActiveSheet.ChartObjects(1).Delete
  Else
    Dim graphTitle As String
    graphTitle = Range("B2").Value
    Range("C3:F11").Select
    ActiveSheet.Shapes.AddChart
    ActiveSheet.ChartObjects(1).Chart.ChartType = xlLine
  End If
End Sub
リスト6 折れ線グラフの表示

 ワークシート上にグラフがあれば(2行目)、Deleteメソッドで、そのグラフを削除する(3行目)。グラフがない場合は、ChartTypeで図7のような折れ線グラフを表示した(9行目)。

図7 折れ線グラフを表示した

 次ページでは、この折れ線グラフにマーカーを表示してみよう。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。