こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

WindowsXP
Excel2007・PowerPoint2007

投稿日時 - 2009-07-03 16:55:44

QNo.5095277

困ってます

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

こんにちは「junko5884」さん

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

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

投稿日時 - 2009-07-04 09:55:50

補足

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

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:55

お礼

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

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

投稿日時 - 2009-07-06 13:49:57

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

こんばんは「junko5884」さん

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

投稿日時 - 2009-07-06 20:22:31

お礼

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

グラフはExcelのグラフをリンク貼り付けしたもので、
「データの編集」とすると、リンク元のExcelが起動します。
ですので、「リンクの設定」は表示されません。

投稿日時 - 2009-07-10 16:48:32

あなたにオススメの質問