Excel VBA スパークラインを設定する

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

セルにスパークラインを設定する方法

Excel 2010で追加されたスパークライン機能を使用すれば
簡易的なグラフをセル内に表示できます。
「折れ線」「縦棒」「勝敗」の3種類のスパークラインを設定でき
数値の変化を視覚化できます。

VBAでスパークラインを操作するには
セル範囲に設定されたスパークラインのグループを表す
SparklineGroup【スパークライングループ】オブジェクトを操作します。

SparklineGroups
【スパークライングループス】コレクションのメソッド一覧

メソッド内容
Add指定した範囲に新しいスパークラインを追加します。
ClearGroupsスパークライングループを削除します。
Clear指定した単体のスパークラインを削除します。
Ungroup指定したセルまたはセル範囲のスパークライングループを解除します。
Group指定したセル範囲のスパークラインをグループ化します。

SparklineGroups
【スパークライングループス】コレクションの主なプロパティ一覧

プロパティ内容
Count指定してセル範囲のスパークライングループの数を返します。

SparklineGroups.Add
【スパークライングループスアド】メソッド

指定したセル範囲にスパークラインを設定するには
Rangeオブジェクトに含まれるスパークラインの集まりを表す
SparklineGroups【スパークライングループス】オブジェクトの
Add【アド】メソッドを使用します。
Add【アド】メソッドにより、スパークラインを表す
SparklineGroup【スペークライングループ】オブジェクトが返され、作成されます。

SparklineGroups.Add【スパークライングループスアド】メソッドの書式

オブジェクト.SparklineGroups.Add( Type, SourceData )


  • オブジェクト(必須)
    スパークラインを設定するセルまたはセル範囲を
    Rangeオブジェクトで指定します。
  • Type【タイプ】(必須)
    スパークラインの種類をxlSparkType列挙型の定数で指定します。

    xlSparkType列挙型の定数
    定数内容
    xlSparkLine1折れ線スパークライン
    xlSparkColumn2縦棒スパークライン
    xlSparkColumnStacked1003勝敗スパークライン

    ※勝敗スパークラインは、
    正の値を勝ちとしてセルの半分より上に四角形を表示し
    負の値を負けとしてセルの半分より下に四角形を表示します。
    数値の大きさを比較するものではなく、正か負かを表します。
    株価の変動や利益の状況などの視覚化に利用します。

  • SourceData【ソースデータ】(必須)
    スパークラインで使用するデータ範囲をA1形式の文字列で指定します。

売上推移の折れ線スパークラインを表示するコード例


Sub 折れ線スパーク()
Range("E2:E7").SparklineGroups.Add _
Type:=xlSparkLine, SourceData:="B2:D7"
End Sub


売上推移の縦棒スパークラインを表示するコード例

Sub 縦棒スパーク()
Range("E2:E7").SparklineGroups.Add _
Type:=xlSparkColumn, SourceData:="B2:D7"
End Sub


SparklineGroups.ClearGroups
【スパークライングループスクリアグループス】メソッド

指定したスパークライングループ内のセルを含む
すべてのスパークライングループを削除するには
SparklineGroups【スパークライングルプス】コレクションの
ClearGroups【クリアグループス】メソッドを使用します。

SparklineGroups.ClearGroups
【スパークライングループスクリアグループス】メソッドの書式

オブジェクト.SparklineGroups.ClearGroups


設定値の説明

  • オブジェクト(必須)
    スパークライングループ内のセルまたは、セル範囲を
    Rangeオブジェクトで指定します。

スパークライングループを削除するコード

Sub スパークグループ削除()
Range("E2").SparklineGroups.ClearGroups
End Sub


SparklineGroups.Clear
【スパークライングループスクリア】メソッド

指定したセル範囲のスパークラインを削除するには
SparklineGroups【スパークライングルプス】コレクションの
Clear【クリア】メソッドを使用します。

SparklineGroups.Clear
【スパークライングループスクリア】メソッドの書式

オブジェクト.SparklineGroups.Clear


設定値の説明

  • オブジェクト(必須)
    削除したいスパークラインがあるセルまたは、セル範囲を
    Rangeオブジェクトで指定します。

単体のスパークラインを削除するコード例

Sub スパーク削除()
Range("E2").SparklineGroups.Clear
End Sub


SparklineGroups.Ungroup
【スパークライングループスアングループ】メソッド

選択したグループライングループのグループを解除するには
SparklineGroups【スパークライングループス】コレクションの
Ungroup【アングループ】メソッドを使用します。

SparklineGroups.Ungroup
【スパークライングループスアングループ】メソッドの書式

オブジェクト.SparklineGroups.Ungroup


設定値(引数)の説明

  • オブジェクト(必須)
    グループを解除するスパークラインのセルまたはセル範囲を
    Rangeオブジェクトで指定します。

E2セル~E7セルのスパークライングループのグループを解除するコード例

Sub グループ化解除()
Range("E2:E7").SparklineGroups.Ungroup
End Sub

SparklineGroups.Group
【スパークライングループスグループ】メソッド

選択したグループラインをグループ化するには
SparklineGroups【スパークライングループス】コレクションの
Group【グループ】メソッドを使用します。

SparklineGroups.Group【
スパークライングループスグループ】メソッドの書式

オブジェクト.SparklineGroups.Group( Location )


設定値(引数)の説明

  • オブジェクト(必須)
    グループ化するスパークラインのセル範囲を
    Rangeオブジェクトで指定します。
  • Location【ロケーション】(必須)
    グループ内の最初のセルをRangeオブジェクトで指定します。

E2セル~E7セルのスパークラインをグループ化するコード例

Sub グループ化()
Range("E2:E7").SparklineGroups.Group Location:=Range("E2")
End Sub

SparklineGroups.Count
【スパークライングループスカウント】 プロパティ

指定したセル範囲のスパークライングループの数を取得するには
SparklineGroups【スペークライングループス】コレクションの
Count【カウント】 プロパティを使用します。
値の取得のみ可能です。

SparklineGroups.Count
【スパークライングループスカウント】プロパティの書式

オブジェクト.SparklineGroups.Count


設定値の説明

  • オブジェクト(必須)
    スパークラインのグループ数を取得したいセル範囲を
    Rangeオブジェクトで指定します。

スパークライングループの数をメッセージボックスで表示するコード例

Sub グループ数()
MsgBox (Range("E2:E7").SparklineGroups.Count)
End Sub


スパークラインのスタイルを変更するには
スパークラインのスタイルを変更する」をご覧ください。
以上で
スパークラインを設定する方法についての解説を終了します。
ありがとうございます。

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

フォローする

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