【VBA】Excelで作成したグラフをPowerPointに自動で貼り付ける方法

Excelで作成したグラフをPowerPointの資料に貼り付けたいとき、毎回手作業でコピー&ペーストするのは手間ですよね。
今回は、VBAを使ってExcelからPowerPointへグラフを自動で貼り付ける方法を学びましたので、実際のコードと手順をご紹介いたします。


目次

実現したいこと

  • Excelにある既存のグラフを、VBAを使ってPowerPointに貼り付ける
  • テンプレートとなるPowerPointファイルを読み込み、その1枚目のスライドに貼り付け
  • 将来的には、貼り付けたグラフのサイズや位置も制御予定

使用したVBAコード

以下が、Excel VBAからPowerPointへグラフを貼り付けるための基本的なコードです。

Sub ExportGraphToPowerPoint()
    Dim ppApp As Object
    Dim ppPres As Object
    Dim ppSlide As Object
    Dim ChartObj As ChartObject

    ' PowerPointアプリケーションを起動
    Set ppApp = CreateObject("PowerPoint.Application")
    ppApp.Visible = True

    ' PowerPointのテンプレートを開く
    Set ppPres = ppApp.Presentations.Open("テンプレファイルがあるPATH") ' 例: "C:\Users\...\テンプレ.pptx"

    ' Excel側のグラフをコピー
    Set ChartObj = ThisWorkbook.Sheets("シート名").ChartObjects("グラフ名")
    ChartObj.Copy

    ' PowerPointの1枚目のスライドに貼り付け
    Set ppSlide = ppPres.Slides(1)
    ppSlide.Shapes.Paste

    ' PowerPointファイルを保存
    ppPres.Save

    ' 使用したオブジェクトを解放
    Set ppSlide = Nothing
    Set ppPres = Nothing
    ppApp.Quit
    Set ppApp = Nothing
End Sub

補足ポイント

  • "テンプレファイルがあるPATH" の部分には、実際のファイルパスを入力してください
    例:"C:\Users\user\Documents\テンプレ.pptx"
  • "シート名" はグラフがあるExcelのシート名、"グラフ名" はそのグラフオブジェクトの名前です
    例:Sheets("分析").ChartObjects("SalesChart")

今後の拡張アイデア

今回のコードは、あくまで「貼り付ける」までを目的としたものです。
今後は以下のような処理も加えることで、より実用性が高まります。

  • グラフのサイズや位置の指定(例:左端から100pt、幅を10cmに設定)
  • 「図」として貼り付ける(PasteSpecial)ことで、編集不可な状態にする
  • 複数スライドに複数グラフを自動配置する処理
  • 保存ファイル名に日付をつけるなどの自動命名

まとめ

VBAを使えば、ExcelのグラフをPowerPointに貼り付ける作業を自動化することが可能です。

  • グラフを手動でコピー&ペーストする手間を省略
  • テンプレートを活用すれば、書式やデザインの統一も実現
  • スライド作成作業の大幅な効率化につながる

プレゼン資料や定型レポートの自動作成にも活用できる非常に便利なテクニックです。
最後までお読みいただき、ありがとうございました。

スクールの紹介

最後に宣伝をさせてください。

夢見るAIエンジニアへ、今こそ一歩を踏み出せ!

最近、AI技術やデータサイエンスに興味を持ち始めたあなた。将来、AIエンジニアやデータサイエンティストとして活躍したいと考えているかもしれません。また、AIを使って業務課題や研究課題を解決したい、あるいは教養としてAIの知識を深めたいと思っている方もいるでしょう。

しかし、学び始めるとなると「どこから手をつけて良いのか分からない」「専門的すぎて理解できない」といった悩みが生じることも。そんなあなたのために、この3ヶ月間集中してAIプログラミングを習得するオンラインコーチングサービスがオススメです!

なぜこのサービスが選ばれるのか?その理由はこちら

  1. 初心者から上級者まで
    完全なプログラミング初心者から研究者まで、幅広い方々に優良なコンテンツが提供されます。
  2. 徹底的な進捗管理
    受講者の進捗をしっかりとチェックし、つまずきやすいポイントでのフォローが万全です。
  3. 専属メンターによる徹底サポート
    AIの学び方から、実際の適用まで、専属のメンターが手厚くサポートします。
  4. 場所を選ばず学べるオンライン完結
    東京以外の地域からも、気軽に学び始めることができます。

信頼の実績多数!
・日本最大級のプログラミングスクール実績
・受講者総数700名以上
・SaaS型学習サービス会員65,000名以上
・企業導入実績120社以上
・グッドデザイン賞受賞
・著名な賞受賞歴や経団連加盟も実現

夢を叶えるための第一歩を、一緒に踏み出しませんか?今なら、あなたもその一員として学び始めることができます!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次