セルにスパークラインを設定する方法
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列挙型の定数 定数 値 内容 xlSparkLine 1 折れ線スパークライン xlSparkColumn 2 縦棒スパークライン xlSparkColumnStacked100 3 勝敗スパークライン ※勝敗スパークラインは、正の値を勝ちとしてセルの半分より上に四角形を表示し、負の値を負けとしてセルの半分より下に四角形を表示します。数値の大きさを比較するものではなく、正か負かを表します。株価の変動や利益の状況などの視覚化に利用します。
- 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
スパークラインのスタイルを変更するには、「スパークラインのスタイルを変更する」をご覧ください。
以上で、スパークラインを設定する方法についての解説を終了します。ありがとうございます。