大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、グラフを「画像」として出力して保存する方法について、ご紹介します。使うVBAコードは、「.Export」です。「.Export」を使えば、グラフを「jpg」、「gif」、「png」、「bmp」などの形式で保存することができます。

はじめに

この記事では、グラフを画像として出力する方法について、ご紹介します。

画像として出力するには、「.Export」を使います。

「.Export」を使えば、「jpg」、「gif」、「png」、「bmp」などの形式で保存することができます。

画像として保存するのは、結構、面倒なので、VBAで自動化していきましょう。

では、グラフを画像として出力する方法について、解説していきます。

この記事で紹介すること

  • VBAでグラフを画像として出力する方法

目次から見たい項目へ移動すると便利ですよ。

目次

VBAコードまとめ

グラフを「画像」として出力する方法について、VBAコードをまとめています。

VBAコードだけ確認したい場合に、ご活用ください。

'「画像」として出力する
ActiveSheet.ChartObjects(1).Chart.Export ThisWorkbook.Path & "\TEST.jpg" '「jpg」
ActiveSheet.ChartObjects(1).Chart.Export ThisWorkbook.Path & "\TEST.gif" '「gif」
ActiveSheet.ChartObjects(1).Chart.Export ThisWorkbook.Path & "\TEST.png" '「png」
ActiveSheet.ChartObjects(1).Chart.Export ThisWorkbook.Path & "\TEST.bmp" '「bmp」

では、解説していきます。

グラフを画像として出力して保存する

グラフを画像として出力して保存してみます。

「Export」を使う

「Export」を使うと、画像として保存できます。

Sub TEST1()
    
    '「Export」を使って画像で出力する
    ActiveSheet.ChartObjects(1).Chart.Export フルパス
    
End Sub

では、実際にやってみます。

「jpg」として保存してみる

「.Export」を使って、「jpg」として保存してみます。

Sub TEST2()
    
    '「jpg」で出力する
    ActiveSheet.ChartObjects(1).Chart.Export ThisWorkbook.Path & "\TEST.jpg"
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意します

では、VBAコードを実行してみます。

「jpg」で出力

VBAを使って「jpg」で出力できました

VBAを使って「jpg」で出力できました。

「gif」「png」「bmp」でもできる

「.Export」を使えば、「gif」「png」「bmp」でも出力することができます。

Sub TEST3()
    
    '「jpg」
    ActiveSheet.ChartObjects(1).Chart.Export ThisWorkbook.Path & "\TEST.jpg"
    '「gif」
    ActiveSheet.ChartObjects(1).Chart.Export ThisWorkbook.Path & "\TEST.gif"
    '「png」
    ActiveSheet.ChartObjects(1).Chart.Export ThisWorkbook.Path & "\TEST.png"
    '「bmp」
    ActiveSheet.ChartObjects(1).Chart.Export ThisWorkbook.Path & "\TEST.bmp"
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意します

では、VBAコードを実行してみます。

「gif」「png」「bmp」でも出力できた

VBAを使って「gif」「png」「bmp」でも出力できました

VBAを使って「gif」「png」「bmp」でも出力できました。

形式によってサイズが違う

形式によってサイズが違います

形式によってサイズが違うので、それぞれの形式で保存できていることがわかります。

シート内のすべてのグラフを画像として出力

「シート内のすべてのグラフ」を画像として出力してみます。

シート内のすべてのグラフを画像で保存する

シート内のすべてのグラフを画像で保存してみます。

「For Each」を使って、シート内のグラフをループします。

Sub TEST4()
    
    i = 0
    'シート内のグラフをループする
    For Each A In ActiveSheet.ChartObjects
        i = i + 1
        '「jpg」で出力する
        A.Chart.Export ThisWorkbook.Path & "\TEST" & i & ".jpg"
    Next
    
End Sub

複数のグラフを用意しておきます。

複数のグラフを用意

複数のグラフを用意しておきます

では、VBAコードを実行してみます。

全てのグラフを出力できた

VBAで全てのグラフを出力できました

VBAで全てのグラフを出力できました。

ファイル名に「日付+現在時刻」を付けると被らない

ファイルを出力する際に、ファイル名に「日付+現在時刻」を付けると被らなくなります。

「日付+現在時刻」を付けて保存してみる

「日付+現在時刻」を付けて保存してみます。

「日付+現在時刻」は「Now()」で取得できます。

桁数を同じにしたいので、「Format(Now(), "yyyymmdd-hhmmss")」で表示形式を設定します。

Sub TEST5()
    
    '「日付+現在時刻」をつける
    A = ThisWorkbook.Path & "\TEST_" & Format(Now(), "yyyymmdd-hhmmss") & ".jpg"
    '画像として出力
    ActiveSheet.ChartObjects(1).Chart.Export A
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意しておきます

では、VBAコードを実行してみます。

「日付+現在時刻」を付けて出力できた

VBAで「日付+現在時刻」を付けて出力できました

VBAで「日付+現在時刻」を付けて出力できました。

おわりに

この記事では、グラフを画像として出力する方法について、ご紹介しました。

画像として出力するには、「.Export」を使います。

「.Export」を使えば、「jpg」、「gif」、「png」、「bmp」などの形式で保存することができます。

画像として保存するのは、結構、面倒なので、VBAで自動化していきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございます。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す