Tip: andere talen zijn Google-Vertaald. Je kunt het English versie van deze link.
Log in
x
or
x
x
Registreren
x

or

Hoe enkele of alle grafieken exporteren van Excel-werkbladen naar PowerPoint?

Soms moet u een grafiek of alle grafieken van Excel naar PowerPoint exporteren voor een bepaald doel. Dit artikel gaat over hoe het te bereiken.

Exporteer een enkele grafiek of alle grafieken van Excel-werkblad naar PowerPoint met VBA-code


Exporteer een enkele grafiek of alle grafieken van Excel-werkblad naar PowerPoint met VBA-code


In deze sectie worden VBA-codes geïntroduceerd om een ​​enkele grafiek of alle diagrammen van werkmap naar PowerPoint te exporteren. Doe het als volgt.

1. druk de anders + F11 sleutels samen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. In de Microsoft Visual Basic voor toepassingen venster klikt Gereedschap > Referenties zoals hieronder screenshot getoond.

3. In de Referenties - VBAProject dialoogvenster, scrol omlaag om het te vinden en te controleren Microsoft PowerPoint Object Library optie en klik vervolgens op de OK knop. Zie screenshot:

4. Dan klikken bijvoegsel > module.

5. Als u een enkele grafiek naar PowerPoint wilt exporteren, selecteert u de grafiek in het werkblad en keert u terug naar de Microsoft Visual Basic voor toepassingen venster, kopieer en plak de onderstaande VBA-code in het modulevenster.

VBA-code: Exporteer één grafiek van Excel-werkblad naar 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

Als u alle grafieken uit de werkmap wilt exporteren, kopieert en plakt u de onderstaande VBA-code in het modulevenster.

VBA-code: exporteer alle grafieken van Excel-werkbladen naar 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. druk de F5 toets of klik op de knop Uitvoeren om de code uit te voeren. Vervolgens wordt een nieuwe PowerPoint geopend met het geselecteerde diagram of alle geïmporteerde kaarten. En je krijgt een Kutools for Excel dialoogvenster zoals hieronder getoond screenshot, klik dan op de OK knop.


Gerelateerde artikelen:



Aanbevolen productiviteitstools voor Excel

Kutools voor Excel helpt u altijd om uw werk voor de tijd af te maken en uzelf te onderscheiden van een menigte

  • Meer dan 300 krachtige geavanceerde functies, ontworpen voor 1500-werkscenario's, verhoging van de productiviteit met 70%, geeft u meer tijd om voor uw gezin te zorgen en van het leven te genieten.
  • U hoeft niet langer formules en VBA-codes te onthouden, maar uw hersenen rust vanaf nu.
  • Word een Excel-expert in 3 minuten, gecompliceerde en herhaalde bewerkingen kunnen in seconden worden uitgevoerd,
  • Verminder dagelijks duizenden toetsenbord- en muisbewerkingen, zeg nu tot ziens tegen beroepsziekten.
  • 110,000 zeer effectieve mensen en 300 + keuze van wereldberoemde bedrijven.
  • 60-day full features free trial. 60-dagen geld-teruggaranties. 2 jaar gratis upgrade en ondersteuning.

Brengt browsen met tabbladen en bewerken naar Microsoft Office, veel krachtiger dan de tabbladen van de browser

  • Office-tabblad is ontworpen voor Word, Excel, PowerPoint en andere Office-toepassingen: Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en verlaagt dagelijks honderden muisklikken voor u!
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 · 19 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 · 20 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.