Excel VBA グラフの編集

スポンサーリンク
スポンサーリンク

作成したグラフを編集する方法

作成したグラフのタイトルや軸、凡例などの
グラフの各要素の設定変更などを行うには
グラフの各要素のオブジェクトを取得する
必要があります。

ここでは、グラフの種類変更、グラフ要素の編集
グラフのスタイル、レイアウトなどの
グラフの編集についての説明をしていきます。

グラフ各要素を表す主なオブジェクト一覧

  • Series【シリーズ】オブジェクト
    グラフのデータ系列を表します。
  • Axis【アクシス】オブジェクト
    グラフの数値軸の目盛やラベルを表します。
  • ChartTitle【チャートタイトル】オブジェクト
    グラフのタイトルを表します。
  • Legend【レジェンド】オブジェクト
    グラフの凡例を表します。

グラフ要素の取得または、設定する主なプロパティ一覧

グラフ要素の操作をする主なメソッド一覧

以上のプロパティやメソッドについての詳細説明を行います。

ChartType【チャートタイプ】プロパティ

グラフの種類を変更するには
グラフシートを表す
Chart【チャート】オブジェクトまたは
埋め込みグラフを表す
ChartObject【チャートオブジェクト】オブジェクトの
ChartType【チャートタイプ】プロパティを使用します。
値の取得と設定ができます。

ChartType【チャートタイプ】プロパティの書式

【取得】
オブジェクト.ChartType
【設定】
オブジェクト.ChartType = 設定値


※複合グラフを作成する場合は
データ系列を表すSeries【シリーズ】オブジェクトを対象に
ChartType【チャートタイプ】プロパティを設定し、指定したデータ系列だけ
グラフの種類を変更して作成します。


SeriesCollection【シリーズコレクション】メソッド

グラフのデータ系列を表す、Series【シリーズ】オブジェクトを取得するには
SeriesCollection【シリーズコレクション】メソッドを使用します。

SeriesCollection【シリーズコレクション】メソッドの書式

[]内は省略可能です。
オブジェクト.SeriesCollection( [Index] )


設定値(引数)の説明

  • オブジェクト(必須)
    グラフシートを表す
    Charts【チャーツ】プロパティで参照したChart【チャート】オブジェクトまたは、
    埋め込みグラフを表す
    ChartObject【チャートオブジェクト】オブジェクトを指定します。
  • 設定値(省略可)
    データ系列の名前または、インデックス番号を指定します。
    省略した場合は、すべてのデータ系列である
    SeriesCollection【シリーズコレクション】コレクションが取得されます。

AxisGroup【アクシスグループ】プロパティ

指定した系列のグループを取得または、設定するのは
AxisGroup【アクシスグループ】プロパティを使用します。
値の取得および設定が可能です。

AxisGroup【アクシスグループ】プロパティの書式

【取得】
オブジェクト.AxisGroup
【設定】
オブジェクト.AxisGroup = 設定値


設定値(引数)の説明

XlAxisGroup 列挙型の定数
定数内容
xlPrimary【プライマリー】1主軸 (下/左側) グループ(既定値)
xlSecondary【セカンダリー】2第 2 軸 (上/右側) グループ
※3Dグラフは不可

「合計」系列を折れ線グラフに変更するコード例

Sub 埋め込みグラフ3()
Dim R As Range
Set R = Range("A7:E14")
With Sheets("売上").ChartObjects.Add(R.Left, R.Top, R.Width, R.Height)
.Name = "売上グラフ"
.Chart.SetSourceData Range("A1:E5")
End With
With Sheets("売上").ChartObjects("売上グラフ").Chart.SeriesCollection("合計")
.ChartType = xlLineMarkers
.AxisGroup = xlSecondary
End With
End Sub

実行結果


Axes【アクシズ】メソッド

グラフの数値軸や項目軸に軸ラベルや目盛などを設定するには
Axes【アクシズ】メソッドを使用して
単一の軸を表すAxes【アクシス】オブジェクトを取得し
Axes【アクシズ】オブジェクトを操作します。

Axes【アクシズ】メソッドの書式

[]内は省略可能です。
オブジェクト.Axes( [Type, AxisGrop] )


設定値(引数)の説明

xlAxisType列挙型の定数
定数内容
xlCategory【カテゴリー】1項目軸
xlValue【バリュー】2数値軸
xlSeriesAxis【シリーズアクシス】3系列軸
※3Dグラフ時のみ使用可能
  • AxisGroup【アクシスグループ】(省略可)
    XlAxisGroup 列挙型の定数で軸のグループを指定します。
XlAxisGroup 列挙型の定数
定数内容
xlPrimary【プライマリー】1主軸 (下/左側) グループ(既定値)
xlSecondary【セカンダリー】2第 2 軸 (上/右側) グループ
※3Dグラフは不可

Axis【アクシス】オブジェクトの主なプロパティ一覧

プロパティ内容
HasTitle【ハズタイトル】タイトルの表示(True)非表示(False)
を設定します。
AxisTitle【アクシスタイトル】軸ラベルを表す、AxisTitleオブジェクト
を取得します。
HasMajorGridLines
【ハズメジャーグリッドラインズ】
主軸の目盛線の表示(True)非表示(False)
を指定します。
TickLabels【チックラベルズ】軸の目盛ラベルを表す、TickLabelsオブジェクト
を取得します。
MaximumScale【マックスイナムスケール】数値軸の最大値を設定します。
MinimumScale【ミニマムスケール】数値軸の最小値を設定します。
MajorUnit【メジャーユニット】目盛間隔を設定します。

※軸ラベルを設定するには
HasTaitleプロパティを表示(True)に設定する必要があります。


ChartTitle【チャートタイトル】プロパティ

グラフのタイトルを表す、ChartTitleオブジェクトを取得するには
ChartTitle【チャートタイトル】プロパティを使用します。

ChartTitle【チャートタイトル】プロパティの書式

オブジェクト.ChartTitle


設定値の説明

ChartTitle【チャートタイトル】オブジェクトの主なプロパティ一覧

プロパティ内容
Text【テキスト】タイトル文字列を設定します。
Font【フォント】タイトルのフォントを設定します。
Orientation【オリエンテーション】タイトルの角度を設定します。
プロパティ値には、-90 ~ 90 度の整数値または
XIOrientation 列挙型の定数値を指定します。
Border【ボーダー】タイトルの枠線を設定します。
Left【レフト】タイトルの左端からの位置
Top【トップ】タイトルの上端からの位置
Shadow【シャドー】タイトルの影を表示する場合はTrueを指定します。

XIOrientation 列挙型の定数
定数内容
xlDownward【ダウンワード】-90度(下向き)
xlHorizontal【ホリゾンタル】0度(水平方向)(既定値)
xlUpward【アップワード】90度(上向き)
xlVertical【バーティカル】縦書き

埋め込みグラフにタイトルと軸タイトルを表示するコード例

Sub 埋め込みグラフ3()
Dim R As Range
Set R = Range("A7:E14")
  With Sheets("売上").ChartObjects.Add(R.Left, R.Top, R.Width, R.Height)
   .Name = "売上グラフ"
   .Chart.SetSourceData Range("A1:E5")
 End With
 With Sheets("売上").ChartObjects("売上グラフ").Chart.SeriesCollection("合計")
   .ChartType = xlLineMarkers
   .AxisGroup = xlSecondary
 End With
 With Sheets("売上").ChartObjects("売上グラフ").Chart.Axes(xlValue)
   .HasTitle = True
   .AxisTitle.Text = "売上額(円)"
   .AxisTitle.Orientation = xlVertical
 End With
 With Sheets("売上").ChartObjects("売上グラフ").Chart
  .HasTitle = True
  .ChartTitle.Text = "店舗別売上グラフ"
  .ChartTitle.Font.Size = 11
 End With
End Sub

実行結果


Legend【レジェンド】プロパティ

グラフの凡例を表す、Legend【レジェンド】オブジェクトを取得するには
Legend【レジェンド】プロパティを使用します。
取得したLegend【レジェンド】オブジェクトに対して、凡例の書式などの
各種設定を行います。

Legend【レジェンド】プロパティの書式

オブジェクト.Legend


設定値の説明

Legend【レジェンド】オブジェクトの主なプロパティ

プロパティ内容
HasLegend【ハズレジェンド】凡例を表示する場合はTrue
非表示の場合はFalseを指定します。
Position【ポジション】凡例の表示位置をxlLegendposition列挙型の
定数で指定します。

xlLegendposition列挙型の定数
定数内容
xlLegendpositionTop
xlLegendpositionBottom
xlLegendpositionLeft
xlLegendpositionRight
xlLegendpositionCorner右上隅

以上で
グラフの編集についての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク