EXCEL VBA スパークラインを設定する。簡易グラフを作成する(SparklineGroups.Addメゾット)

 

 

EXCEL VBA スパークラインを設定する。簡易グラフを作成する(SparklineGroups.Addメゾット)

 

 

 ●はじめに

今回説明するのは、EXCEL2010から追加された機能のスパークラインをVBAで設定する方法を説明いたします。スパークラインは、セル内に表示する簡易的に表現をする事のできるグラフのことになります。表現する事のできるグラフは、3種類あり(折れ線・縦棒・勝敗)の3つの簡易グラフをセル内に表現する事が出来ます。複数のグラフ作成する場合は、このスパークラインの機能を使う事で、簡単にグラフを作成してビジュアル的に表現する事が出来ます。

 

●【String関数・簡易グラフの作成・指定文字の繰り返し表示については、下記を参照して下さい】

EXCEL VBA 指定した文字列を繰り返し表示する。簡易グラフの作成・指定文字を並べて表示(String関数)

●【スパークラインの利用方法については、下記を参照して下さい(Microsoft社 様)】
https://docs.microsoft.com/ja-jp/office/vba/excel/concepts/sparklines/animate-a-sparkline

 

 

 

 ●書式の説明  (スパークラインを表示する)

● SparklineGroups.Addメソッドを利用するには、下記の通りに設定を行います。

 

【スパークライン(簡易グラフ)の表示】
●オブジェクト.SparklineGroups.Add( Type, SourceData )

Type :  は、下記の定数または、値でグラフの種類を指定します。
SourceData:は、グラフの元データ(セル範囲A1形式)を指定します。

 

定数(Type)内容(説明)
xlSparkLine1折れ線グラフ
xlSparkColumn2縦棒グラフ
xlSparkColumnStacked1003勝敗グラフ

 

SparklineGroups.Add( Type, SourceData )の利用例



【使用例】(折れ線グラフ)

 

 

【使用例】(縦棒グラフ)

 

 

【使用例】(勝敗グラフ)

 

 

 

 

 

 

EXCEL VBA スパークラインを設定する。データ量に応じて自動的に簡易グラフを作成する(SparklineGroups.Addメゾット)

 

 

 ●プログラム説明 (サンプル①)

下記のサンプルプログラムは、SparklineGroups.Addメゾットを利用して縦のデータ件数に応じて、自動的に簡易グラフを作成するサンプルプログラムです。

 


【プログラムの流れ】

① アクティブシートのA列の最終行を取得します。
② 既存のスパークラインを削除します。(グループ化しているスパークライン)
③ A列の最終行から取得したデータ件数を元に、各支店ごとにスパークラインを作成します。(折れ線グラフ)
④ ③で作成したスパークライン(折れ線グラフ)にマーカーポイントを設定します。

【プログラム実行条件】
・セルB列からE列までに数値データを入力します。

 

 

 

 

●実行前~実行後 ※プログラム実行後、行の件数を把握して、行ごとの支店データ(B列~E列)を元に、F列にスパークライン(折れ線グラフ)を設定されました。
(画面クリックして拡大)

 

 

 

EXCEL VBA スパークラインを設定する。データ量に応じて自動的に別シートへ3種類(折れ線・縦棒・勝敗)の簡易グラフを作成する(SparklineGroups.Addメゾット)

 

 

 ●プログラム説明 (サンプル②)

下記のサンプルプログラムは、サンプルプログラム①の応用になります。データ量に応じて自動的に別シートへ3種類(折れ線・縦棒・勝敗)の簡易グラフを作成します。簡易グラフについては、別シートに3種類作成します。

 

【プログラムの流れ】
① ワークシート「データ」A列の最終行を取得します。
② ワークシート「グラフ」既存のスパークライングループをA列・B列・C列を削除します。
③ ワークシート「データ」のデータを元に、ワークシート「グラフ」のA列に、折れ線グラフを作成します。
④ ワークシート「グラフ」の折れ線グラフにマーカーポイントを設定します。
⑤ ワークシート「データ」のデータを元に、ワークシート「グラフ」のB列に、縦棒グラフを作成します。
⑥ ワークシート「データ」のデータを元に、ワークシート「グラフ」のB列に、勝敗グラフを作成します。

【プログラム実行条件】

・ワークシート「データ」には、データを入力します。
・ワークシート「グラフ」を作成します。※このワークシートにスパークライン「簡易グラフ」が作成されます。

 

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、ワークシート「データ」のデータを元に、ワークシート「グラフ」へ3種類のグラフ(スパークライン)が作成されました。
(画面クリックして拡大)

 

 

 

 

EXCEL VBA スパークラインを削除する・(スパークライングループ)

 

 

 ●プログラム説明 (サンプル③)

下記のサンプルプログラムは、グループ化したスパークラインを削除するサンプルプログラムです。

● オブジェクト.SparklineGroups.ClearGroups

【使用例】
Range(“A1”).SparklineGroups.ClearGroups

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、ワークシートのグループ化したスパークラインを削除します。
(画面クリックして拡大)

 

 

EXCEL VBA 指定したスパークラインを削除します。(単体のスパークラインを削除)

 

 

 ●プログラム説明 (サンプル④)

下記のサンプルプログラムは、グループ化したスパークラインを削除するサンプルプログラムです。下記のプログラムでは、セルA4・B6~B7・C列全てのスパークラインに対して削除を行います。

● オブジェクト.SparklineGroups.Clear

【使用例】
Range(“A1”).SparklineGroups.Clear

 

 

 

 

 ●実行前~実行後 ※プログラム実行後、プログラムで指定したセルA4・B6~B7・C列のスパークラインが削除されました。
(画面クリックして拡大)

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。