Type : は、下記の定数または、値でグラフの種類を指定します。
SourceData:は、グラフの元データ(セル範囲A1形式)を指定します。
定数(Type)
値
内容(説明)
xlSparkLine
1
折れ線グラフ
xlSparkColumn
2
縦棒グラフ
xlSparkColumnStacked100
3
勝敗グラフ
●SparklineGroups.Add( Type, SourceData )の利用例
【使用例】(折れ線グラフ)
'
'
Sub SparkLine_zigzag() 'スパークライン(折れ線グラフ設定)
ActiveSheet.Range("I4:I9").SparklineGroups.Add Type:=xlSparkLine, SourceData:="C4:H9"
End Sub
'
'
【使用例】(縦棒グラフ)
'
'
Sub SparkLine_Columnchart() 'スパークライン(縦棒グラフ設定)
ActiveSheet.Range("I4:I9").SparklineGroups.Add Type:=xlSparkColumn, SourceData:="C4:H9"
End Sub
'
'
【使用例】(勝敗グラフ)
'
'
Sub SparkLine_Outcome() 'スパークライン(勝敗グラフ設定)
ActiveSheet.Range("I4:I9").SparklineGroups.Add Type:=xlSparkColumnStacked100, SourceData:="C4:H9"
End Sub
'
'
【プログラムの流れ】
① アクティブシートのA列の最終行を取得します。
② 既存のスパークラインを削除します。(グループ化しているスパークライン)
③ A列の最終行から取得したデータ件数を元に、各支店ごとにスパークラインを作成します。(折れ線グラフ)
④ ③で作成したスパークライン(折れ線グラフ)にマーカーポイントを設定します。
【プログラム実行条件】
・セルB列からE列までに数値データを入力します。
'
'
Sub SparkLine_zigzag10() 'データ件数に応じてスパークライン(折れ線グラフ設定)を設定
Dim I, lRow As Long
Dim SLG As SparklineGroup
lRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row 'A列の最終行を取得します。
ActiveSheet.Range("F4").SparklineGroups.ClearGroups '既存のスパークラインを削除します。
Set SLG = ActiveSheet.Range("F4:F" & lRow).SparklineGroups.Add(Type:=xlSparkLine, SourceData:="B4:E" & lRow)
'A列の最終行より取得したデータ件数を元にセルF4~F最終列までセルB列~E列の範囲データを元にスパークラインにて簡易グラフを作成
SLG.Points.Markers.Visible = True '折れ線にマーカーポイントを設定
End Sub
'
'
【プログラムの流れ】 ① ワークシート「データ」A列の最終行を取得します。
② ワークシート「グラフ」既存のスパークライングループをA列・B列・C列を削除します。
③ ワークシート「データ」のデータを元に、ワークシート「グラフ」のA列に、折れ線グラフを作成します。
④ ワークシート「グラフ」の折れ線グラフにマーカーポイントを設定します。
⑤ ワークシート「データ」のデータを元に、ワークシート「グラフ」のB列に、縦棒グラフを作成します。
⑥ ワークシート「データ」のデータを元に、ワークシート「グラフ」のB列に、勝敗グラフを作成します。
'
'グループのスパークラインを削除
'
Sub スパークグループ削除サンプル①()
ActiveSheet.Range("A4,B4,C4").SparklineGroups.ClearGroups
'グループ化したスパークラインを削除します。
End Sub
'
'
'
Sub スパークグループ削除サンプル②()
Dim I As Long
For I = 1 To 3
ActiveSheet.Cells(4, I).SparklineGroups.ClearGroups
'グループ化したスパークラインを削除します。
Next I
End Sub
'
'
'
Sub スパークグループ削除サンプル③()
ActiveSheet.Cells.SparklineGroups.ClearGroups
'アクティブシートの全てのグループ化したスパークラインを削除します。
End Sub
'
'
'
'
Sub スパーク削除() '指定及び単体のスパークラインを削除
ActiveSheet.Range("A4").SparklineGroups.Clear
'セル番号A4のスパークラインを削除します。
ActiveSheet.Range("B6:B7").SparklineGroups.Clear
'セル番号B6~B7のスパークラインを削除します。
ActiveSheet.Range("C:C").SparklineGroups.Clear
'C列全体のスパークラインを削除します。
End Sub
'
'