作成したグラフを編集する方法
作成したグラフのタイトルや軸、凡例などのグラフの各要素の設定変更などを行うには、グラフの各要素のオブジェクトを取得する必要があります。
ここでは、グラフの種類変更、グラフ要素の編集、グラフのスタイル、レイアウトなどのグラフの編集についての説明をします。
グラフ各要素を表す主なオブジェクト一覧
オブジェクト | 内容 |
---|---|
Series【シリーズ】 | グラフのデータ系列を表します。 |
Axis【アクシス】 | グラフの数値軸の目盛やラベルを表します。 |
ChartTitle【チャートタイトル】 | グラフのタイトルを表します。 |
Legend【レジェンド】 | グラフの凡例を表します。 |
グラフ要素の取得または、設定する主なプロパティ一覧
プロパティ | 内容 |
---|---|
ChartType【チャートタイプ】 | グラフの種類の取得または、設定をします。 |
AxisGroup【アクシスグループ】 | 指定した系列のグループを取得または、設定します。 |
ChartTitle【チャートタイトル】 | グラフのタイトルを表す ChartTitle【チャートタイトル】オブジェクトを取得します。 |
Legend【レジェンド】 | グラフの凡例を表す Legend【レジェンド】オブジェクトを取得します。 |
グラフ要素の操作をする主なメソッド一覧
メソッド | 内容 |
---|---|
SeriesCollection【シリーズコレクション】 | データ系列を表す Series【シリーズ】オブジェクトを取得します。 |
Axes【アクシズ】 | 単一の軸を表す Axes【アクシス】オブジェクトを取得します。 |
ChartType【チャートタイプ】プロパティ
グラフの種類を変更するには、グラフシートを表すChart【チャート】オブジェクトまたは、埋め込みグラフを表すChartObject【チャートオブジェクト】オブジェクトのChartType【チャートタイプ】プロパティを使用します。値の取得と設定ができます。
ChartType【チャートタイプ】プロパティの書式と設定値の説明
【取得】
オブジェクト.ChartType
【設定】
オブジェクト.ChartType = 設定値
- オブジェクト(必須)
グラフシートを表す
Charts【チャーツ】プロパティで参照したChart【チャート】オブジェクトまたは、埋め込みグラフを表すChartObject【チャートオブジェクト】オブジェクトやSeriesCollection【シリーズコレクション】メソッドで取得したグラフのデータ系列を表すSeries【シリーズ】オブジェクトを指定します。 - 設定値(必須)
グラフの種類を表すxlChartType列挙型の定数を使用して指定します。
※複合グラフを作成する場合は、データ系列を表すSeries【シリーズ】オブジェクトを対象にChartType【チャートタイプ】プロパティを設定し、指定したデータ系列だけグラフの種類を変更して作成します。
SeriesCollection【シリーズコレクション】メソッド
グラフのデータ系列を表す、Series【シリーズ】オブジェクトを取得するには、SeriesCollection【シリーズコレクション】メソッドを使用します。
SeriesCollection【シリーズコレクション】メソッドの書式と設定値(引数)の説明
[]内は省略可能です。
オブジェクト.SeriesCollection( [Index] )
- オブジェクト(必須)
グラフシートを表すCharts【チャーツ】プロパティで参照したChart【チャート】オブジェクトまたは、埋め込みグラフを表す
ChartObject【チャートオブジェクト】オブジェクトを指定します。 - 設定値(省略可)
データ系列の名前または、インデックス番号を指定します。省略した場合は、すべてのデータ系列であるSeriesCollection【シリーズコレクション】コレクションが取得されます。
AxisGroup【アクシスグループ】プロパティ
指定した系列のグループを取得または、設定するのは、AxisGroup【アクシスグループ】プロパティを使用します。値の取得および設定が可能です。
AxisGroup【アクシスグループ】プロパティの書式と設定値の説明
【取得】
オブジェクト.AxisGroup
【設定】
オブジェクト.AxisGroup = 設定値
- オブジェクト(必須)
SeriesCollection【シリーズコレクション】メソッドで取得したグラフのデータ系列を表すSeries【シリーズ】オブジェクトを指定します。 - 設定値(省略可)
軸グループの種類を表す、XlAxisGroup 列挙型の定数を指定します。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] )
- オブジェクト(必須)
グラフシートを表すCharts【チャーツ】プロパティで参照したChart【チャート】オブジェクトまたは、埋め込みグラフを表すChartObject【チャートオブジェクト】オブジェクトを指定します。 - Type【タイプ】(省略可)
xlAxisType列挙型の定数で軸の種類を指定します。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
- オブジェクト(必須)
グラフシートを表す
Charts【チャーツ】プロパティで参照したChart【チャート】オブジェクトまたは、埋め込みグラフを表すChartObject【チャートオブジェクト】オブジェクトを指定します。
ChartTitle【チャートタイトル】オブジェクトの主なプロパティ一覧
プロパティ | 内容 |
---|---|
Text【テキスト】 | タイトル文字列を設定します。 |
Font【フォント】 | タイトルのフォントを設定します。 |
Orientation【オリエンテーション】 | タイトルの角度を設定します。 プロパティ値には、-90 ~ 90 度の整数値または XIOrientation 列挙型の定数値を指定します。 |
Border【ボーダー】 | タイトルの枠線を設定します。 |
Left【レフト】 | タイトルの左端からの位置 |
Top【トップ】 | タイトルの上端からの位置 |
Shadow【シャドー】 | タイトルの影を表示する場合はTrueを指定します。 |
定数 | 内容 |
---|---|
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
- オブジェクト(必須)
グラフシートを表すCharts【チャーツ】プロパティで参照したChart【チャート】オブジェクトまたは、埋め込みグラフを表すChartObject【チャートオブジェクト】オブジェクトを指定します。
Legend【レジェンド】オブジェクトの主なプロパティ
プロパティ | 内容 |
---|---|
HasLegend【ハズレジェンド】 | 凡例を表示する場合はTrue 非表示の場合はFalseを指定します。 |
Position【ポジション】 | 凡例の表示位置をxlLegendposition列挙型の 定数で指定します。 |
定数 | 内容 |
---|---|
xlLegendpositionTop | 上 |
xlLegendpositionBottom | 下 |
xlLegendpositionLeft | 左 |
xlLegendpositionRight | 右 |
xlLegendpositionCorner | 右上隅 |
以上で、グラフの編集についての解説を終了します。ありがとうございました。