Excel VBA スパークラインのスタイルを変更する

スポンサーリンク

スパークラインのスタイルを変更する方法

Excel 2010で追加されたスパークラインは、色や値のポイントに対してスタイルを設定して変更することができます。

SeriesColor【シリーズカラー】プロパティ

スパークラインに色を設定するには、スパークライングループの系列のメインの色を表すFormatColor【フォーマットカラー】オブジェクトを使用します。

FormatColor【フォーマットカラー】オブジェクトはスパークラインを表すSparklineGroup【スパークライングループ】オブジェクトのSeriesColor【シリーズカラー】プロパティで取得できます。

SeriesColor【シリーズカラー】プロパティの書式と設定値の説明

オブジェクト.SeriesColor .色を設定するプロパティ

※FormatColor【フォーマットカラー】オブジェクトで指定できるには、スパークライン全体の色です。棒グラフで最大値にグラフだけ色を変えたい場合などのポイント毎(個別)に変更したい場合はSparkPoints【スパークポインツ】オブジェクトを使用します。


スパークラインを作成して色を設定するコードと解説

Sub 折れ線色設定()
Dim スパーク As SparklineGroup
Set スパーク = Range("E2:E7").SparklineGroups.Add _
(Type:=xlSparkLine, SourceData:="B2:D7")
スパーク.SeriesColor.Color = RGB(255, 0, 0)
End Sub
2行目【Dim スパーク As SparklineGroup】
スパークラインを表すSparklineGroup【スペークライングループ】オブジェクトを格納する変数「スパーク」をオブジェクト型(SparklineGroup)で宣言します。


3行目~4行目【Set スパーク = Range(“E2:E7″).SparklineGroups.Add _
(Type:=xlSparkLine, SourceData:=”B2:D7”)】

SparklineGroups【スパークライングループス】オブジェクトのAdd【アド】メソッドを使用してスパークラインを作成してSetキーワードを使用してオブジェクト変数「スパーク」に代入します。


5行目【スパーク.SeriesColor.Color = RGB(255, 0, 0)】
SparklineGroup【スパークラインウループ】オブジェクトのSeriesColor【シリーズカラー】プロパティでスパークライングループ系列のメインの色を表すFormatColor【フォーマットカラー】オブジェクトを取得してColor【カラー】プロパティにRGB関数で赤を表す値を設定します。


実行結果


Points【ポインツ】プロパティ

スパークライン上のデータのポイントに対する設定を表すSparkPoints【スパークポインツ】オブジェクトを取得するにはスパークラインを表すSparklineGroup【スパークライングループ】オブジェクトのPoints【ポインツ】プロパティを使用します。

Points【ポインツ】プロパティの書式と設定値の説明

オブジェクト.Points

  • オブジェクト(必須)
    対象のスパークラインを表す
    SparklineGroup【スパークライングループ】オブジェクトを指定します。
    取得したSparkPoints【スパークポインツ】オブジェクトの各プロパティを使用してスパークライン上のデータのポイントに対する設定を行います。

SparkPoints【スパークポインツ】オブジェクトのプロパティ一覧

プロパティ内容
Markers 【マーカーズ】マーカー(ポイント)
Highpoint 【ハイポイント】頂点(山)
Lowpoint 【ロウポイント】頂点(谷)
Negative 【ネガティブ】負のポイント
Firstpoint 【ファストポイント】始点
Lastpoint 【ラストポイント】終点


Markers【マーカーズ】プロパティ

スパークライン上のデータのポイントに対するマーカーの色と表示設定を表すSparkColor【スパークカラー】 オブジェクトを取得するにはSparkpoint【スパークポイント】オブジェクトのMarkers【マカーズ】プロパティを使用します。
※スパークラインの種類が折れ線を表す
xlSparkLineの場合のみ有効です。

Markers【マカーズ】プロパティの書式と設定値の説明

オブジェクト.Markers.表示や色を設定するプロパティ = 設定値

  • オブジェクト(必須)
    スパークライン上のデータのポイントに対する設定を表すSparkpoint【スパークポイント】オブジェクトを指定します。
  • 表示や色を設定するプロパティ(必須)
    スパークライン上のデータのポイントに対するマーカーの表示/非表示を切り替えるにはVisible【ビジブル】プロパティを指定します。
    スパークライン上のデータのポイントに対するマーカーに色を設定するには、Markers【マーカーズ】プロパティにColor【カラー】プロパティでマーカーの色を設定するためのFormatColor【フォーマットカラー】オブジェクトを取得してColor【カラー】プロパティやColorIndex【カラーインデックス】プロパティThemeColor【テーマカラー】プロパティを指定します。
    書式は「Marker.Color.Color = RGB(255,0,0)」のようになります。
    なお色を設定する場合は、マーカーの表示を表すVisible【ビジブル】プロパティの設定値が表示を表すTrueに設定されている
    ことが前提条件です。
  • 設定値(必須)
    Visible【ビジブル】プロパティの場合

    設定値内容
    Trueマーカーを表示します。
    Falseマーカーを非表示にします。(既定値)

    Color【カラー】プロパティやColorIndex【カラーインデックス】プロパティThemeColor【テーマカラー】プロパティの場合は各色の設定値を設定します。


データのポイントにマーカーを表示して赤色に指定するコード例

Sub マカーズ()
Dim スパーク As SparklineGroup
Set スパーク = Range("E2:E7").SparklineGroups.Add _
(Type:=xlSparkLine, SourceData:="B2:D7")
スパーク.Points.Markers.Visible = True
スパーク.Points.Markers.Color.Color = RGB(255, 0, 0)
End Sub


Highpoint【ハイポイント】プロパティ

スパークライン上のデータの頂点(山)に対するマーカーの色と表示設定を表すSparkColor【スパークカラー】 オブジェクトを取得するには、Sparkpoint【スパークポイント】オブジェクトのHighpoint【ハイポイント】プロパティを使用します。

Highpoint【ハイポイント】プロパティの書式と設定値の説明

オブジェクト.Highpoint.表示や色を設定するプロパティ = 設定値

  • オブジェクト(必須)
    スパークライン上のデータのポイントに対する設定を表すSparkpoint【スパークポイント】オブジェクトを指定します。
  • 表示や色を設定するプロパティ(必須)
    スパークライン上のデータの頂点(山)に対するマーカーの表示/非表示を切り替えるには、Visible【ビジブル】プロパティを指定します。スパークライン上のデータの頂点(山)に対するマーカーに色を設定するには、Highpoint【ハイポイント】プロパティにColor【カラー】プロパティでマーカーの色を設定するためのFormatColor【フォーマットカラー】オブジェクトを取得してColor【カラー】プロパティやColorIndex【カラーインデックス】プロパティ、ThemeColor【テーマカラー】プロパティを指定します。書式は「Highpoint.Color.Color = RGB(255,0,0)」のようになります。なお色を設定する場合は、マーカーの表示を表すVisible【ビジブル】プロパティの設定値が表示を表すTrueに設定されていることが前提条件です。
  • 設定値(必須)
    Visible【ビジブル】プロパティの場合

    設定値内容
    Trueマーカーを表示します。
    Falseマーカーを非表示にします。(既定値)

    Color【カラー】プロパティやColorIndex【カラーインデックス】プロパティThemeColor【チームカラー】プロパティの場合は各色の設定値を設定します。


データの頂点(山)のポイントを表示して赤色に設定するコード例

Sub ハイポイント()
Dim スパーク As SparklineGroup
Set スパーク = Range("E2:E7").SparklineGroups.Add _
(Type:=xlSparkLine, SourceData:="B2:D7")
スパーク.Points.Highpoint.Visible = True
スパーク.Points.Highpoint.Color.Color = RGB(255, 0, 0)
End Sub


Lowpoint【ロウポイント】プロパティ

スパークライン上のデータの頂点(谷)に対するマーカーの色と表示設定を表すSparkColor【スパークカラー】 オブジェクトを取得するには、Sparkpoint【スパークポイント】オブジェクトのLowpoint【ロウポイント】プロパティを使用します。

Lowpoint【ロウポイント】プロパティの書式と設定値

オブジェクト.Lowpoint.表示や色を設定するプロパティ = 設定値

  • オブジェクト(必須)
    スパークライン上のデータのポイントに対する設定を表すSparkpoint【スパークポイント】オブジェクトを指定します。
  • 表示や色を設定するプロパティ(必須)
    スパークライン上のデータの頂点(谷)に対するマーカーの表示/非表示を切り替えるには、Visible【ビジブル】プロパティを指定します。スパークライン上のデータの頂点(谷)に対するマーカーに色を設定するには、Lowpoint【ロウポイント】プロパティにColor【カラー】プロパティでマーカーの色を設定するためのFormatColor【フォーマットカラー】オブジェクトを取得してColor【カラー】プロパティやColorIndex【カラーインデックス】プロパティThemeColor【テーマカラー】プロパティを指定します。書式は「Lowpoint.Color.Color = RGB(255,0,0)」のようになります。なお色を設定する場合は、マーカーの表示を表すVisible【ビジブル】プロパティの設定値が表示を表すTrueに設定されていることが前提条件です。
  • 設定値(必須)
    Visible【ビジブル】プロパティの場合

    設定値内容
    Trueマーカーを表示します。
    Falseマーカーを非表示にします。(既定値)

    Color【カラー】プロパティやColorIndex【カラーインデックス】プロパティ、ThemeColor【テーマカラー】プロパティの場合は各色の設定値を設定します。


データの頂点(谷)のポイントを表示して赤色に設定するコード例

Sub ロウポイント()
Dim スパーク As SparklineGroup
Set スパーク = Range("E2:E7").SparklineGroups.Add _
(Type:=xlSparkLine, SourceData:="B2:D7")
スパーク.Points.Lowpoint.Visible = True
スパーク.Points.Lowpoint.Color.Color = RGB(255, 0, 0)
End Sub


Negative【ネガティブ】プロパティ

スパークライン上のデータの負の値に対するマーカーの色と表示設定を表すSparkColor【スパークカラー】 オブジェクトを取得するには、Sparkpoint【スパークポイント】オブジェクトのNegative【ネガティブ】プロパティを使用します。

Negative【ネガティブ】プロパティの書式と設定値の説明

オブジェクト.Negative.表示や色を設定するプロパティ = 設定値

  • オブジェクト(必須)
    スパークライン上のデータのポイントに対する設定を表すSparkpoint【スパークポイント】オブジェクトを指定します。
  • 表示や色を設定するプロパティ(必須)
    スパークライン上のデータの負の値に対するマーカーの表示/非表示を切り替えるにはVisible【ビジブル】プロパティを指定します。スパークライン上のデータの負の値に対するマーカーに色を設定するにはNegative【ネガティブ】プロパティにColor【カラー】プロパティでマーカーの色を設定するためのFormatColor【フォーマットカラー】オブジェクトを取得してColor【カラー】プロパティやColorIndex【カラーインデックス】プロパティ、ThemeColor【テーマカラー】プロパティを指定します。書式は「Negative.Color.Color = RGB(255,0,0)」のようになります。
    なお色を設定する場合は、マーカーの表示を表すVisible【ビジブル】プロパティの設定値が表示を表すTrueに設定されている
    ことが前提条件です。
  • 設定値(必須)
    Visible【ビジブル】プロパティの場合

    設定値内容
    Trueマーカーを表示します。
    Falseマーカーを非表示にします。(既定値)

    Color【カラー】プロパティやColorIndex【カラーインデックス】プロパティ、ThemeColor【テーマカラー】プロパティの場合は各色の設定値を設定します。


データの負の値のポイントを表示して赤色に設定するコード例

Sub ネガティブ()
Dim スパーク As SparklineGroup
Set スパーク = Range("E2:E7").SparklineGroups.Add _
(Type:=xlSparkLine, SourceData:="B2:D7")
スパーク.Points.Negative.Visible = True
スパーク.Points.Negative.Color.Color = RGB(255, 0, 0)
End Sub


Firstpoint【ファーストポイント】プロパティ

スパークライン上のデータの始点に対するマーカーの色と表示設定を表すSparkColor【スパークカラー】 オブジェクトを取得するには、Sparkpoint【スパークポイント】オブジェクトのFirstpoint【ファーストポイント】プロパティを使用します。

Firstpoint【ファーストポイント】プロパティの書式と設定値の説明

オブジェクト.Firstpoint.表示や色を設定するプロパティ = 設定値

  • オブジェクト(必須)
    スパークライン上のデータのポイントに対する設定を表すSparkpoint【スパークポイント】オブジェクトを指定します。
  • 表示や色を設定するプロパティ(必須)
    スパークライン上のデータの始点に対するマーカーの表示/非表示を切り替えるには、Visible【ビジブル】プロパティを指定します。スパークライン上のデータの始点に対するマーカーに色を設定するには、Firstpoint【ファーストポイント】プロパティにColor【カラー】プロパティでマーカーの色を設定するためのFormatColor【フォーマットカラー】オブジェクトを取得してColor【カラー】プロパティやColorIndex【カラーインデックス】プロパティThemeColor【テーマカラー】プロパティを指定します。書式は「Firstpoint.Color.Color = RGB(255,0,0)」のようになります。なお色を設定する場合は、マーカーの表示を表すVisible【ビジブル】プロパティの設定値が表示を表すTrueに設定されていることが前提条件です。
  • 設定値(必須)
    Visible【ビジブル】プロパティの場合

    設定値内容
    Trueマーカーを表示します。
    Falseマーカーを非表示にします。(既定値)

    Color【カラー】プロパティやColorIndex【カラーインデックス】プロパティ、ThemeColor【テーマカラー】プロパティの場合は各色の設定値を設定します。


データの始点のポイントを表示して赤色に設定するコード例

Sub ファースト()
Dim スパーク As SparklineGroup
Set スパーク = Range("E2:E7").SparklineGroups.Add _
(Type:=xlSparkLine, SourceData:="B2:D7")
スパーク.Points.Firstpoint.Visible = True
スパーク.Points.Firstpoint.Color.Color = RGB(255, 0, 0)
End Sub


Lastpoint【ラストポイント】プロパティ

スパークライン上のデータの終点に対するマーカーの色と表示設定を表すSparkColor【スパークカラー】 オブジェクトを取得するには、Sparkpoint【スパークポイント】オブジェクトのLastpoint【ラストポイント】プロパティを使用します。

Lastpoint【ラストポイント】プロパティの書式と設定値の説明

オブジェクト.Lastpoint.表示や色を設定するプロパティ = 設定値

  • オブジェクト(必須)
    スパークライン上のデータのポイントに対する設定を表すSparkpoint【スパークポイント】オブジェクトを指定します。
  • 表示や色を設定するプロパティ(必須)
    スパークライン上のデータの終点に対するマーカーの表示/非表示を切り替えるには、Visible【ビジブル】プロパティを指定します。スパークライン上のデータの終点に対するマーカーに色を設定するには、Lastpoint【ラストポイント】プロパティにColor【カラー】プロパティでマーカーの色を設定するためのFormatColor【フォーマットカラー】オブジェクトを取得してColor【カラー】プロパティやColorIndex【カラーインデックス】プロパティ、ThemeColor【テーマカラー】プロパティを指定します。書式は「Lastpoint.Color.Color = RGB(255,0,0)」のようになります。なお色を設定する場合は、マーカーの表示を表すVisible【ビジブル】プロパティの設定値が表示を表すTrueに設定されていることが前提条件です。
  • 設定値(必須)
    Visible【ビジブル】プロパティの場合

    設定値内容
    Trueマーカーを表示します。
    Falseマーカーを非表示にします。(既定値)

    Color【カラー】プロパティやColorIndex【カラーインデックス】プロパティ、ThemeColor【チームカラー】プロパティの場合は各色の設定値を設定します。


データの終点のポイントを表示して赤色に設定するコード例

Sub ラスト()
Dim スパーク As SparklineGroup
Set スパーク = Range("E2:E7").SparklineGroups.Add _
(Type:=xlSparkLine, SourceData:="B2:D7")
スパーク.Points.Lastpoint.Visible = True
スパーク.Points.Lastpoint.Color.Color = RGB(255, 0, 0)
End Sub


以上で、スパークラインのスタイルを変更する方法についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告