Dylan.B
Dylan.B

Reputation: 5

Delete everything BUT charts in PPT presentation?

I want to delete everything in my powerpoint presentation, except the charts that are already there. I have been searching for day with no avail.

I did however find this VBA that deletes all charts. Unfortunately, it is the opposite of what I am trying to achieve. I have tried using VBA found in other code and adding it, but nothing helps. Any help would be much appreciated.

Sub RemoveAllCharts()
    Dim sld As Slide
    Dim i, num

'Loop Through Each Slide in ActivePresentation   
  For Each sld In ActivePresentation.Slides
    num = sld.Shapes.Count
    For i = num To 1 Step -1
        If sld.Shapes(i).HasChart Then
            sld.Shapes(i).Delete
        End If
    Next i
  Next sld
End Sub

Upvotes: 0

Views: 44

Answers (1)

BigBen
BigBen

Reputation: 49998

You might be able to add a Not to achieve this, i.e. change

If sld.Shapes(i).HasChart Then

to

If Not sld.Shapes(i).HasChart Then

Sub RemoveAllButCharts()
    Dim sld As Slide
    Dim i As Long, num As Long

    'Loop Through Each Slide in ActivePresentation
    For Each sld In ActivePresentation.Slides
        num = sld.Shapes.Count
        For i = num To 1 Step -1
            If Not sld.Shapes(i).HasChart Then
                sld.Shapes(i).Delete
            End If
        Next i
     Next sld
End Sub

Upvotes: 2

Related Questions