• ベストアンサー

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

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

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

  • ベストアンサー
  • 48toshi
  • ベストアンサー率44% (8/18)
回答No.1

こんにちは「junko5884」さん PowerPointのヘルプで「リンク設定」でワード検索すると、 「Excel グラフをリンクする、または埋め込む」の項目がある と思うので参考にしてみては、いかがでしょうか。 私は、WindowsXP・Excel2003・PowerPoint2003の環境なので あくまで参考ですが検索してみることをお勧めします。 VBAを使わなくても私の環境では、PowerPointに変更は反映されました。

junko5884
質問者

お礼

48toshiさん、ご回答ありがとうございます。 お返事が遅くなり、申し訳ございません。 リンク貼り付けをした後、何度かは、きちんと反映されるのですが 数回(数日)更新していると、なぜか反映されなくなってしまいます。 また、毎回グラフを選択してデータの更新をするのが煩わしいとのことで。 VBAでなんとからなないかと。。。 説明不足ですみません。

junko5884
質問者

補足

以下のコードで実現しました。 ありがとうございました。 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

その他の回答 (1)

  • 48toshi
  • ベストアンサー率44% (8/18)
回答No.2

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

junko5884
質問者

お礼

お返事が大変遅くなりまして申し訳ございません。 グラフはExcelのグラフをリンク貼り付けしたもので、 「データの編集」とすると、リンク元のExcelが起動します。 ですので、「リンクの設定」は表示されません。

関連するQ&A