• ベストアンサー
  • 困ってます

ExcelからPowerPointグラフのデータ範囲を変更

  • 質問No.5095277
  • 閲覧数4585
  • ありがとう数4
  • 回答数2

お礼率 77% (7/9)

PowerPointにEXCELのグラフをリンク貼り付けしました。
データは日々増えていきますので、名前を定義し、データ範囲に設定したのですが、
EXCELのデータを更新しても、PowerPointのグラフに反映されません。
そこで、Excel(VBA)からPowerPointのグラフを操作して、グラフのデータ範囲を
変更しようと思います。
VBAでPowerPointのグラフを取得することはできたのですが、データ範囲の
変更の仕方がわかりません。
ご存知の方よろしくお願いいたします。

WindowsXP
Excel2007・PowerPoint2007

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 44% (8/18)

こんにちは「junko5884」さん

PowerPointのヘルプで「リンク設定」でワード検索すると、
「Excel グラフをリンクする、または埋め込む」の項目がある
と思うので参考にしてみては、いかがでしょうか。

私は、WindowsXP・Excel2003・PowerPoint2003の環境なので
あくまで参考ですが検索してみることをお勧めします。
VBAを使わなくても私の環境では、PowerPointに変更は反映されました。
補足コメント
junko5884

お礼率 77% (7/9)

以下のコードで実現しました。
ありがとうございました。

Set oPPTApp = CreateObject("PowerPoint.Application")
oPPTApp.Presentations.Open Filename:="ファイルパス"

'最終行
Set myRange = ActiveSheet.Range("A1").End(xlDown)
LastRow = myRange.Row

With oPPTApp.ActivePresentation.Slides(1)
  For Each oPPTShape In .Shapes
    oPPTShape.Select msoTrue
    If oPPTShape.Type = msoChart Then
      Select Case oPPTShape.Name
        Case "グラフ 2"
          Set oGraph = oPPTShape
          oGraph.Chart.ChartData.Activate
          oGraph.Chart.SetSourceData Source:=("Sheet1!$A$1:$A$" & LastRow & ",Sheet1!$C$1:$C$" & LastRow)
          oGraph.Chart.Refresh
      End Select
    End If
  Next
End With
投稿日時:2009/08/03 11:54
お礼コメント
junko5884

お礼率 77% (7/9)

48toshiさん、ご回答ありがとうございます。
お返事が遅くなり、申し訳ございません。

リンク貼り付けをした後、何度かは、きちんと反映されるのですが
数回(数日)更新していると、なぜか反映されなくなってしまいます。
また、毎回グラフを選択してデータの更新をするのが煩わしいとのことで。
VBAでなんとからなないかと。。。
説明不足ですみません。
投稿日時:2009/07/06 13:49

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 44% (8/18)

こんばんは「junko5884」さん

「毎回グラフを選択してデータの更新をするのが煩わしい」
とのことですが、「リンク設定」で「自動」にチェックが
入っていれば、PowerPointのファイルを開けるときに
更新するかしないかのメッセージが出るて「更新する」を
選択すれば自動でグラフに反映されると思いますが、
出来ませんか。
お礼コメント
junko5884

お礼率 77% (7/9)

お返事が大変遅くなりまして申し訳ございません。

グラフはExcelのグラフをリンク貼り付けしたもので、
「データの編集」とすると、リンク元のExcelが起動します。
ですので、「リンクの設定」は表示されません。
投稿日時:2009/07/10 16:48
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ