• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スライド内のエクセルグラフやシートをエクセルに戻したい)

スライド内のエクセルグラフやシートをエクセルに戻す方法

このQ&Aのポイント
  • パワーポイントのスライドに張り付いているエクセルグラフやシートをエクセルに移して編集したいですが、複数シートをまとめて移動する方法がわかりません。
  • WindowsXPproのOFFICE2003環境で試したところ、1枚のシートなら新規エクセルに貼り付けることができましたが、複数シートの場合は手間がかかります。
  • パワーポイントに張り付いているエクセルグラフやデータシートを一括でコピー、移動する効率的な方法はありませんか?

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

  • ベストアンサー
  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.2

《準備》 1.「ツール」 →「マクロ」 →「セキュリティー」  →セキュリティレベル「中」にチェックを入れる  →パワーポイントをいったん終了して、またすぐ起動  ※マクロを動かすためです。 2.Alt+F11キーでVisual Basic Editor 画面に →挿入 →標準モジュール →右の真っ白な大きいところに以下のコードをコピー&ペースト Sub Emb_Excel() Dim objExcel As Object 'Excelに参照設定していればExcel.Application Dim newBook As Object 'Excel.Workbook Dim myBook As Object 'Excel.Workbook Dim newSht As Object 'Excel.Worksheet Dim Sld As Slide Dim Shp As Shape Set objExcel = CreateObject("Excel.Application") With objExcel  .Visible = True  Set newBook = .Workbooks.Add End With For Each Sld In ActivePresentation.Slides  For Each Shp In Sld.Shapes   With Shp    If .Type = msoEmbeddedOLEObject Then     With .OLEFormat      If Left$(.ProgID, 11) = "Excel.Sheet" Then       Set myBook = .Object       With newBook.Worksheets        Set newSht = .Add(After:=.Item(.Count))       End With       myBook.Worksheets(1).Cells _        .Copy Destination:=newSht.Range("A1")      ElseIf Left$(.ProgID, 11) = "Excel.Chart" Then       Shp.Copy       With newBook.Worksheets        Set newSht = .Add(After:=.Item(.Count))       End With       newSht.Paste      End If     End With    End If   End With  Next Next Set newBook = Nothing Set myBook = Nothing Set objExcel = Nothing End Sub 3.標準画面に戻ります。 念のためテスト用として別名で保存してください。 4.ツール→マクロ→マクロ →1.のマクロEmb_Excelを選択→実行 5. マクロを使わないときは、0.で変更したセキュリティレベルを元に戻す ★マクロを繰り返し使いたいとき: マクロをツールバーに登録します。  どれか一つのツールバーの上でマウス右クリック →一番下のユーザー設定 →「コマンド」の下のほうの「マクロ」を選択 →右に出たマクロ名をマウスでドラッグ、  ツールバーのお好きな所にドロップ →「選択したボタンの編集」で「名前」を短くする →閉じる  以後、このマクロボタンを押せば、どのファイルに対してもマクロが働きます。いらなくなったらAltキーを押しながらマウスでツールバー以外の場所に捨てます。

QT753
質問者

お礼

できました!&凄いです♪ どうもありがとうございます!! とっても助かりました。

その他の回答 (1)

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.1

VBAを使えば可能です。 必要でしたらコードをアップします。 [マクロの使い方の説明も必要でしたら、 Powerpointのバージョンを書き込んでください。]

QT753
質問者

補足

n_na_ttoはじめまして。 PowerPoint2003です。 宜しくお願いいたします。

関連するQ&A