ヒガサラblog

サラリーマン向けに、仕事を効率良く進めていくための方法についてご紹介しています。プログラミングから対人スキルまでを幅広く掲載中。

ヒガサラblog

【エクセルVBA】グラフを画像として指定フォルダに出力する方法!

f:id:yshgs_elec:20210127214240j:plain

 「エクセルで作成したグラフを画像として指定したフォルダに出力したい。」

この記事ではこんな悩みを解決する方法をご紹介します。

 

具体的には、以下の画像のようにエクセルシート上に作成されているグラフを、シート上のセルに記述したフォルダに画像として出力するVBAコードをご紹介していきます。

f:id:yshgs_elec:20210204153115j:plain

 

意外と使えるスキルですので、ぜひ最後までご覧ください。

※今後このスキルを応用してどんなことができるのか、ということもご紹介していこうと思いますので、ぜひブックマークよろしくお願いします。

 

それではさっそく本題に入っていきましょう!

 

スポンサーリンク

 

画像化するグラフを作成

冒頭に説明したように、今回はエクセルシート上に作成されたグラフを画像として出力するVBAコードをご紹介していきます。

 

そのためグラフがないと何も始まりませんので、まずはグラフを作成しておきましょう。

今回は以下のように簡単なサインカーブをグラフ化しておきました。

f:id:yshgs_elec:20210204145813j:plain

※今回の記事では位相の部分は使いませんので、もし真似をしてやってみようと思っている方がいれば、無視していただいてOKです。

(今後グラフをパラパラ漫画化するとき用に準備したものです。)

 

ひとまずこれで画像として出力するグラフが作成できました。

 

スポンサーリンク

 

グラフの名前を確認&変更する

 今回はVBAを使ってグラフを画像化していきます。

そのため、VBA上で

「今回画像として出力したいグラフはこのグラフですよ~」

と教えてあげる必要があります。

 

ですので、まずは画像化したいグラフの名前を確認しておきましょう。

 

◆グラフの名前を確認する方法

以下の画像の赤枠のように、グラフをアクティブ(クリック)にした状態で、シートの左上の方に表示されているのが、今さわったグラフの名前になります。

先ほど作ったグラフは【グラフ1】という名前になっていますね。

f:id:yshgs_elec:20210204153210j:plain

 

もしこの名前を変更したいのであれば、 赤枠内をクリックして好きな名前をキーボードで打ち込んであげればOKです。

※graph1という名前に変更しておきました。

f:id:yshgs_elec:20210204151600j:plain

 

以降で紹介するVBAコードはここで名前をつけたgraph1に対して行っていきます。

 

スポンサーリンク

 

画像を出力するフォルダを指定

最後の下準備として、先ほど作成したグラフを画像として出力する場所を指定しておきます。

今回は以下の画像のようにF1セルに画像の出力場所(フォルダにフルパス)を記述しておきました。

※別のセルに書きたい場合、VBAコードに直接記述したい場合は、以降のVBAコードも適宜変更してください。

f:id:yshgs_elec:20210204151619j:plain

 

 というわけで、すべての下準備が整いました。

 

グラフを画像化するVBAコード

最後に先ほど作成したグラフを、指定したフォルダに画像として出力するVBAコードをご紹介します。

 

◆グラフを画像として出力するVBAコード

※今回はpng形式で画像化していますが、jpg形式でも問題なく作動します。

Sub graph_output()
'変数の型を宣言
Dim output_folder As String
Dim pic_name As String
'画像を出力する場所
output_folder = Cells(1, 6)
'出力する画像の名前
pic_name = "output.png"
'グラフを画像化する
ActiveSheet.ChartObjects("graph1").Chart.Export _
output_folder & "\" & pic_name
End Sub

 

このVBAコードでは、Chart.Exportというスキルを使い

【graph1】を【output_folder & "\" & pic_name】という場所画像として出力しろ!

という指示を行っているだけです。

前半は出力する場所や名前を決めているだけなので、グラフを画像にするには実質このChart.Exportの1文を書けば終わりです。

非常に簡単ですね。

 

念のため、このコードを実行しておきましょう。

f:id:yshgs_elec:20210204153115j:plain

しっかりと今回指定したフォルダの中に、エクセルシート上に作成していたグラフが画像として出力されていることが確認できました。

スポンサーリンク

 

おわりに

というわけで今回はエクセルシート上に作成したグラフを指定したフォルダに画像として出力する方法をご紹介しました。

このスキルを応用すれば以下のような動画を作成できるようになります。

 

サインカーブを動かしてもなんの得もありませんが、時系列で変化するデータを可視化したい場合には、こんなことが出来たら便利ですよね。

f:id:yshgs_elec:20210127212516g:plain

まぁこいつの作り方はまた次回紹介することにしましょう。

 

このように私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

・日々の残業時間を減らしたい。

・業務をもっと効率的にこなしたい。

・もっと勉強する時間を作りたい。

こんな思いを持っている人は、ぜひ他の記事も見てみてくださいね。

 

この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

 ↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

 

それではまた!