ヒント:他の言語はGoogle翻訳されています。 訪問することができます English このリンクのバージョン。
ログイン
x
or
x
x
お申し込み
x

or

単一またはすべてのチャートをExcelワークシートからPowerPointにエクスポートする方法

場合によっては、何らかの目的のためにチャートまたはすべてのチャートをExcelからPowerPointにエクスポートする必要が生じることがあります。 この記事では、これを達成する方法について説明します。

単一のチャートまたはすべてのチャートをExcelワークシートからVBAコード付きのPowerPointにエクスポートする


単一のチャートまたはすべてのチャートをExcelワークシートからVBAコード付きのPowerPointにエクスポートする


このセクションでは、単一のグラフまたはすべてのグラフをブックからPowerPointにエクスポートするためのVBAコードを紹介します。 以下のようにしてください。

1。 プレス 他の + F11 一緒に鍵を開いて アプリケーション用Microsoft Visual Basic 窓。

2。 の中に アプリケーション用Microsoft Visual Basic ウィンドウ、クリック ツール > リファレンス 以下のスクリーンショットを示します。

3。 の中に 参照 - VBAProject ダイアログボックスをスクロールして、下にスクロールして Microsoft PowerPointオブジェクトライブラリ オプションを選択して、 OK ボタン。 スクリーンショットを見る:

4。 次に、をクリックします インセット > モジュール.

5。 1つのチャートをPowerPointにエクスポートする場合は、ワークシートのチャートを選択してから、 アプリケーション用Microsoft Visual Basic ウィンドウを開き、下のVBAコードをコピーしてモジュールウィンドウに貼り付けます。

VBAコード:単一のグラフをExcelワークシートからPowerPointにエクスポートする

Sub SingleActiveChartToPowerPoint_EarlyBinding1()
'Updated by Extendoffice 2017/9/15
  Dim pptApp As PowerPoint.Application
  Dim pptPres As PowerPoint.Presentation
  Dim pptSlide As PowerPoint.Slide
  Dim pptShape As PowerPoint.Shape
  Dim pptShpRng As PowerPoint.ShapeRange
  Dim xActiveSlideNow As Long
  On Error Resume Next
  If ActiveChart Is Nothing Then
    MsgBox "Select a chart and try again!", vbExclamation, "KuTools For Excel"
    Exit Sub
  End If
  Set pptApp = GetObject(, "PowerPoint.Application")
  If pptApp Is Nothing Then
    Set pptApp = CreateObject("PowerPoint.Application")
    Set pptPres = pptApp.Presentations.Add
    Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
  Else
    If pptApp.Presentations.Count > 0 Then
      Set pptPres = pptApp.ActivePresentation
      If pptPres.Slides.Count > 0 Then
        xActiveSlideNow = pptApp.ActiveWindow.View.Slide.SlideIndex
        Set pptSlide = pptPres.Slides(xActiveSlideNow)
      Else
        Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
      End If
    Else
      Set pptPres = pptApp.Presentations.Add
      Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
    End If
  End If
  ActiveChart.ChartArea.Copy
  With pptSlide
    .Shapes.Paste
    Set pptShape = .Shapes(.Shapes.Count)
    Set pptShpRng = .Shapes.Range(pptShape.Name)
  End With
  With pptShpRng
    .Align msoAlignCenters, True
    .Align msoAlignMiddles, True
  End With
  pptShpRng.Select
End Sub

すべてのチャートをブックからエクスポートする場合は、下のVBAコードをコピーしてモジュールウィンドウに貼り付けてください。

VBAコード:すべてのグラフをExcelワークシートからPowerPointにエクスポートする

Option Explicit
'Updated by Extendoffice 2017/9/15
Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Dim pptSlide As PowerPoint.Slide
Dim pptSlideCount As Integer
Sub ChartsToPowerPoint()
    Dim xSheet As Worksheet
    Dim xChartsCount As Integer
    Dim xChart As Object
    Dim xActiveSlideNow As Integer
    On Error Resume Next
    For Each xSheet In ActiveWorkbook.Worksheets
        xChartsCount = xChartsCount + xSheet.ChartObjects.Count
    Next xSheet
    If xChartsCount = 0 Then
        MsgBox "Sorry, there are no charts to export!", vbCritical, "Ops"
        Exit Sub
    End If
    Set pptApp = GetObject(, "PowerPoint.Application")
    If pptApp Is Nothing Then
      Set pptApp = CreateObject("PowerPoint.Application")
      Set pptPres = pptApp.Presentations.Add
      Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
    Else
        If pptApp.Presentations.Count > 0 Then
          Set pptPres = pptApp.ActivePresentation
          If pptPres.Slides.Count > 0 Then
            xActiveSlideNow = pptApp.ActiveWindow.View.Slide.SlideIndex
            Set pptSlide = pptPres.Slides(xActiveSlideNow)
          Else
            Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
          End If
        Else
          Set pptPres = pptApp.Presentations.Add
          Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
        End If
    End If
    For Each xSheet In ActiveWorkbook.Worksheets
        For Each xChart In xSheet.ChartObjects
            Call pptFormat(xChart.Chart)
        Next xChart
    Next xSheet
    For Each xChart In ActiveWorkbook.Charts
        Call pptFormat(xChart)
    Next xChart
    
    Set pptSlide = Nothing
    Set pptPres = Nothing
    Set pptApp = Nothing
    MsgBox "The charts were copied successfully to the new presentation!", vbInformation, "KuTools For Excel"
End Sub
Private Sub pptFormat(xChart As Chart)
    Dim xCharTiTle As String
    Dim I As Integer
    On Error Resume Next
    xCharTiTle = xChart.ChartTitle.Text
    xChart.ChartArea.Copy
    pptSlideCount = pptPres.Slides.Count
    Set pptSlide = pptPres.Slides.Add(pptSlideCount + 1, ppLayoutBlank)
    pptSlide.Select
    pptSlide.Shapes.PasteSpecial ppPasteJPG
    If xCharTiTle <> "" Then
        pptSlide.Shapes.AddTextbox msoTextOrientationHorizontal, 12.5, 20, 694.75, 55.25
    End If
    For I = 1 To pptSlide.Shapes.Count
        With pptSlide.Shapes(I)
            Select Case .Type
                Case msoPicture:
                    .Top = 87.84976
                    .left = 33.98417
                    .Height = 422.7964
                    .Width = 646.5262
                Case msoTextBox:
                    With .TextFrame.TextRange
                        .ParagraphFormat.Alignment = ppAlignCenter
                        .Text = xCharTiTle
                        .Font.Name = "Tahoma (Headings)"
                        .Font.Size = 28
                        .Font.Bold = msoTrue
                    End With
                End Select
        End With
    Next I
End Sub

6。 プレス F5 キーを押すか、[実行]ボタンをクリックしてコードを実行します。 次に、選択したチャートまたはすべてのチャートをインポートした新しいPowerPointが開きます。 そして、あなたは Kutools for Excel 下のスクリーンショットのようなダイアログボックスが表示されたら、 OK ボタン。


関連記事:



Excelの推奨生産性向上ツール

Kutools for Excelを使用すると、いつでも作業を終わらせることができ、群衆から目立つようにすることができます。

  • 300作業シナリオ用に設計された1500以上の強力な高度な機能により、生産性を70%向上させ、家族の世話をしたり人生を楽しんだりするための時間を増やすことができます。
  • 数式やVBAコードを暗記する必要はもうありません。これから脳を休ませてください。
  • 3分でExcelのエキスパートになる、複雑で繰り返しのある操作が数秒で可能
  • 毎日何千ものキーボードとマウスの操作を減らし、今や職業病に別れを告げる。
  • 110,000の非常に効果的な人々と300 +世界的に有名な企業の選択。
  • 60-dayフル機能無料トライアル。 60日の返金保証。 2年間の無料アップグレードとサポート。

ブラウザのタブよりはるかに強力な、タブ付きのブラウジングと編集をMicrosoft Officeにもたらします。

  • Officeタブは、Word、Excel、PowerPoint、およびその他のOfficeアプリケーション(発行元、アクセス、Visio、およびプロジェクト)用に設計されています。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを削減します。
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Andrea89 · 21 days ago
    hello,
    How can I have the some things in PDF ?

    thanks !
  • To post as a guest, your comment is unpublished.
    Antoni · 2 months ago
    Hi, Thank you for code.

    I tried update your code with a little changes but I don't know how can I do it, I need update/change somes Shape on a specific Slide, but I don't know how can i do it.?
    • To post as a guest, your comment is unpublished.
      crystal · 21 days ago
      Hi Antoni,
      Sorry can't help you with that yet. Thanks for your comment.
  • To post as a guest, your comment is unpublished.
    Ross · 10 months ago
    Thank you, your code worked perfectly for what I needed to do. I will bookmark your page and come back when I need more.