【EXCEL VBA】グラフの値を連続で変更し、自動で画像保存するコード

PC操作

このページで紹介する内容

このページのコードを使うと、上の写真のように、エクセルのグラフを連続的に変化させて表示させることができます。

グラフは、画像データ(jpeg)として保存して、gifにする方法を採用しています。

<メリット>
大量のグラフをパラパラ漫画のように連続して変化させることで、視覚的に変化をとらえやすくなります。

<注意点>
jpegデータのgif化は、別途gif作成サイトなどの利用が必要です。「gif 作成 オンライン」詳しくは、などで検索してください。

とにかく使いたいという方はこちらでDL

コードの紹介

VBAの任意のシートに、以下のコードを貼り付けたうえで、いくつかの設定を行えば完了です。

Sub graph画像連続作成()
'変数の型
Dim folder As String
Dim jpg_name As String
Dim 最右行 As Integer
Dim 最下行 As Integer
'画像を保存する場所
folder = Cells(1, 3)
'出力する画像の名前と拡張子
jpg_name = "output"
kakuchoushi = ".jpg"
'グラフのエリアを決めるため、列と行の最終位置取得
最右列 = Cells(3, Columns.Count).End(xlToRight).Column
最下行 = Cells(Rows.Count, 1).End(xlUp).Row
'データ更新⇒画像出力の繰返し
j = 最右列
For i = 1 To 最下行 - 3
ActiveSheet.ChartObjects("グラフ1").Activate
'グラフ名は、グラフを選んだ状態で、左上のリストを確認します。
ActiveChart.SeriesCollection(1).Name = Cells(3 + i, 1).Value
ActiveChart.SeriesCollection(1).XValues = Range(Cells(3, 2), Cells(3, j))
ActiveChart.SeriesCollection(1).Values = Range(Cells(3 + i, 2), Cells(3 + i, j))
ActiveSheet.ChartObjects("グラフ1").Chart.Export _
folder & "\" & jpg_name & Format(i, "00") & kakuchoushi
Next
End Sub

このコードを使用するためには、画像データの保存先を指定する必要があります。コード内では、C1セルに記載してある保存先のアドレスを読み込むようにしています。

ファイルの保存先は、あらかじめ作成したうえで、アドレスを取得してください。作成したフォルダをダブルクリックすると、ウィンドウが現れます。

ウィンドウ上部のアドレスバーをクリックすると、フォルダのアドレスが取得できます。

あらかじめ、エクセル上に散布図を作成しておく必要があります。散布図は、「挿入」タブから作成してください。

グラフの設定を行います。グラフにカーソルを合わせると、右上に「+」マークが表示されるのでクリック。「軸」「グラフタイトル」にチェックを入れてください。その他のチェックはどちらでも構いません。

グラフの縦軸の数値をダブルクリックし、軸のオプションを設定します。最大値、最小値を固定するとグラフの連続変化が見やすいので、設定しておきます。横軸も同様に設定します。

最後に、念のためグラフの名称を確認します。グラフをクリックして選択すると、左上にグラフの名称が表示されます。コード内では、グラフの名称を「グラフ1」としていますので、対応するグラフの名称に変更してください。

これで準備完了です。「開発」タブの「マクロ」を選択して、作成したマクロを実行してください。実行すると、指定したフォルダの中にjpegデータが連続で保存されます。

保存されたjpegをパラパラ漫画のようにするために、gifや動画作成ソフトなどを利用してください。ここでは、具体的な作成方法は割愛します。

補足(VBAの入力の仕方)

VBAを書き込むまでの、エクセルの設定の仕方をご紹介します。

1.開発タブの有効化

エクセルを開いて「ホーム」→「オプション」をクリックします。

「リボンのユーザー設定」画面でメインタブの中の「開発」にチェックを入れます。これで、エクセル上部のタブに「開発」タブが追加されます。

2.コードを貼り付ける

「開発」タブをクリックします。

「Visual Basic」ボタンをクリックします。

VBAのウインドウの左側に表示されている、Sheet〇(シート名)からVBAを実行させたいシートをダブルクリックして選択すると、コード入力画面が出てきます。その後、下の写真のようにコードを貼り付けます。

まとめ

以上の操作で、エクセルのグラフをパラパラ漫画のように変化させて、視覚的に変化をとらえやすくなるVBAが使えるようになります。何かのお役に立てれば幸いです。


 

タイトルとURLをコピーしました