- ベストアンサー
ExcelからPowerPointグラフのデータ範囲を変更
PowerPointにEXCELのグラフをリンク貼り付けしました。 データは日々増えていきますので、名前を定義し、データ範囲に設定したのですが、 EXCELのデータを更新しても、PowerPointのグラフに反映されません。 そこで、Excel(VBA)からPowerPointのグラフを操作して、グラフのデータ範囲を 変更しようと思います。 VBAでPowerPointのグラフを取得することはできたのですが、データ範囲の 変更の仕方がわかりません。 ご存知の方よろしくお願いいたします。 WindowsXP Excel2007・PowerPoint2007
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは「junko5884」さん PowerPointのヘルプで「リンク設定」でワード検索すると、 「Excel グラフをリンクする、または埋め込む」の項目がある と思うので参考にしてみては、いかがでしょうか。 私は、WindowsXP・Excel2003・PowerPoint2003の環境なので あくまで参考ですが検索してみることをお勧めします。 VBAを使わなくても私の環境では、PowerPointに変更は反映されました。
その他の回答 (1)
- 48toshi
- ベストアンサー率44% (8/18)
回答No.2
お礼
48toshiさん、ご回答ありがとうございます。 お返事が遅くなり、申し訳ございません。 リンク貼り付けをした後、何度かは、きちんと反映されるのですが 数回(数日)更新していると、なぜか反映されなくなってしまいます。 また、毎回グラフを選択してデータの更新をするのが煩わしいとのことで。 VBAでなんとからなないかと。。。 説明不足ですみません。
補足
以下のコードで実現しました。 ありがとうございました。 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