エクセルのグラフをアニメーション的に描画する

表計算ソフトExcelのグラフをVBAで動的に描画してアニメーション的に動かしてみました。

グラフを動的に描画する方法は、次の二つが考えられます。
(1)グラフを1プロットずつ増やして再描画する事を繰り返す。
(2)グラフのデータを変数に格納して1データずつ追加していく。

グラフを1プロットずつ増やして再描画する方法

この例では、グラフシート”Graph1″とデータのシート”Sheet1″を用意しています。

“Graph1″シート
excel_graph_a_1

“Data1″シート
excel_graph_a_2

グラフシート上に配置された”Start”ボタンをクリックするとグラフの描画が開始されます。
excel_graph_a_3

グラフを再描画するVBAマクロ”Plot_Chart()”は下記のコードになります。実際にグラフを動的に描写している箇所は、For 〜 Nextの間の処理になります。

データを変数に格納して追加していく方法

もう一つの「データを変数に格納して追加していく方法」は、”Sheet1″シート1つで構成しています。
excel_graph_b_1

“グラフ描画”ボタンをクリックすると、動的な描画が始まります。
excel_graph_b_2

下記がVBAマクロの”plot_data()”のコードです。
まずB41からD60のセルを変数に格納します。
次に一定間隔の時間で、B41からD60のセルに値を戻します。
これてグラフを動的に描いている様に見える仕組みです。

この方式は、グラフ描画中に中断したりするとセルの値が失われてしまう可能性があるので、オリジナルのデータを別のセルに記述しておき、ロードできるマクロ”data_load”も念のため用意しておきます。

まとめ

以上、エクセルのグラフをアニメーション的に動かす方法を紹介しました。途中で処理を中断したい場合は、ESCキーを押して表示されたメニューで終了を選択します。またグラフを描くスピードは、Application.Waitの時間間隔で設定していますが、パソコンの性能に依存し、正確ではありませんので、使用環境にあわせて調整しましょう。

→その他の技術情報

Sponsored Link