アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

WindowsXP
Excel2007・PowerPoint2007

A 回答 (2件)

こんばんは「junko5884」さん



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

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

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

お礼日時:2009/07/10 16:48

こんにちは「junko5884」さん



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

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

この回答への補足

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

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
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2009/07/06 13:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!