EXCEL VBA グラフシートにグラフを作成する方法(Charts.Add : SetSourceData) データ範囲を指定してグラフの作成

 

EXCEL VBA グラフシートにグラフを作成する方法(Charts.Add : SetSourceData) データ範囲を指定してグラフの作成

 

 

 ●はじめに
EXCELで一覧表などを作成して、それをグラフ化すると数値では表現しづらい事でも、ビジュアル的に表現する事ができます。グラフで表現する事で見た目でデータの大小や乖離などが伝わりやすくなります。EXCELでグラフを表現するには、通常使うシートに作成する方法とグラフシートに作成する方法の2パターンがあります。今回は、グラフシートでのグラフを作成する方法を説明いたします。

 

 

 ●書式の説明 【Charts.Add(Before,After)】
        【オブジェクト.SetSourceData(Source,PlotBy)】
【Charts.Add(Before,After)】 
例:  Charts.Add before:=Worksheets(“Sheet1”)
※ ワークシート(Sheet1)の横にグラフシートを作成します。【オブジェクト.SetSourceData(Source,PlotBy)】
※ Source ⇒ データ範囲を指定 (グラフ化データの指定)
引数:PlotBy
(データ系列の方向指定)
データ系列を縦方向xlRows
データ系列を横方向xlColumns
例: ActiveChart.SetSourceData Source:=Worksheets(“sheet1”).Range(“A1:D4”), PlotBy:=xlRows

 

 

グラフシートにグラフを作成する方法

 

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

下記のサンプルプログラムは、グラフシートを作成して、そのグラフシートに指定したデータからグラフを作成します。

 

 

●実行前~実行後 ※プログラム実行後、Sheet1のデータを元にグラフシートにグラフが作成されました。
(画面クリックして拡大)

 

 

 

グラフシートにグラフを作成する方法(既にグラフあれば作成しない)

 

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

下記のサンプルプログラムは、グラフが作成を作成するプログラムなのですが、グラフシート(グラフ)が既に作成されている場合は、”既にグラフが作成されています。”とメッセージが表示されプログラムが終了します。グラフシートが作成されていない場合は、シート(月別売上)の表データを元に、グラフを作成します。

 

 

 

 ●実行前~実行後 ※プログラム実行後、1回目の実行は、グラフシート(グラフ)が無いので、グラフシートが作成されグラフを作成されました。2回目の実行は、グラフが作成されているので、「既にグラフが作成されています。」のメッセージが表示されました。
(画面クリックして拡大)

 

 

グラフシートにグラフを作成する方法(データ系列の選択)

 

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

下記のサンプルプログラムは、グラフが作成を作成するプログラムなのですが、一度作成したグラフに対してデータ系列を選択できるサンプルプログラムです。グラフ作成後でもデータ系列を縦方向・横方向に変更できるので、作成されたグラフを確認しつつ変更する事ができるサンプルプログラムです。

 

 

 

●実行前~実行後 ※プログラム実行後、データ系列を指定するInputBoxが表示されますので、データ系列(縦)・(横)を入力します。入力後に指定したデータ系列でグラフが作成されます。2度目以降の実行では、グラウは作成されていまので、データ系列が変更されていれば、そのデータ系列に応じてグラフが修正されます。
(画面クリックして拡大)

 

 

グラフシートの削除方法(グラフシートを全て削除)

 

 

 ●プログラム説明 (サンプル④)
下記のサンプルプログラムは、作成したグラフシートを削除するプログラムです。削除条件として、1以上のグラフシートが有る場合は、全てのグラフシートを削除します。

 

 

 

●実行前~実行後 ※プログラム実行後、グラフシート「年度売上グラフ」が削除され、「年度売上」のシートのみ残りました。
(画面クリックして拡大)

 

 

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