The code posted here worked fine...until I added a For loop to go through all sheets.

I have an Excel workbook with multiple sheets, each sheet containing multiple picture objects, with corresponding data ranges. The code is meant to:

* For each sheet
* Copy first picture object
* Create Powerpoint presentation, insert slide
* Paste the picture object onto slide
* Go back to the Excel sheet
* Copy the data range that is directly below the picture object that was just copied
* Go back to the SAME slide in Powerpoint
* Paste the data range (AS A PICTURE) beneath the already-pasted picture object
* Repeat for all picture/data range combos on a sheet (creating a new PPT slide for every combo)
* Repeat for all sheets in workbook

The code ALMOST works. The problem is that it just keeps going through all of the picture/data ranges on the FIRST SHEET. It never progresses to the next sheet. HOWEVER, it is also executing the copy/paste of all those pic/range combos MULTIPLE times in Powerpoint (i.e. I should have the same number of slides as I have number of pic/range combos...but instead, I end up with THREE TIMES the number of slides, because it just keeps looping).

So, I'm trying to step through, line by line, to identify the issue (I did post this same script here yesterday, but with no luck...so I'm trying to troubleshoot on my own).

For some reason, when the script gets to this line...

PPApp.ActiveWindow.View.Paste

...the stepping stops and the code just runs all the way through (albeit incorrectly). I've never experienced that before with stepping.

Why is it doing that? Any assistance at all on this would be SOOO appreciated.

NOTE: The workbook attached here is pared down in order to meet the forum size limit. The actual workbook will have about 25 sheets.
Sub CPAT_ExcelToPowerPoint() '*****  THIS IS THE CORRECT CODE TO USE FOR COPYING CPAT FROM EXCEL TO POWERPOINT   *************************



    
    
    
'Declare variables
        
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Dim SlideCount As Integer
Dim myShp As Shape
Dim slTitle As String
Dim mysht As Worksheet




'Start a new instance of Powerpoint
Set PPApp = New PowerPoint.Application
PPApp.Visible = True








'Create new ppt
Set PPPres = PPApp.Presentations.Add
    


For Each mysht In ActiveWorkbook.Worksheets
        
        If mysht.Name <> "Definition and Filter" And _
         mysht.Name <> "Performance Summary" And _
         mysht.Name <> "Perf Summary no Charts" Then
        
        




        'Make sure the correct starting cell is selected in Excel, so that the 'CurrentRegion' selection will work
        Range("A2").Select
        
                
            'Loop through all the pictures on the sheet. Select picture, copy it
            For Each Shape In ActiveSheet.Shapes
               
               If Left(Shape.Name, 7) = "Picture" Then
                   
                    Shape.CopyPicture Appearance:=xlScreen, Format:=xlPicture
                End If
                
                DoEvents   'This line is added so that Excel has time to complete the copy/paste operation
              
              
'              Create New Slide
              Set PPSlide = PPPres.Slides.Add(PPPres.Slides.Count + 1, ppLayoutTitleOnly)
              PPApp.ActiveWindow.View.GotoSlide PPSlide.SlideIndex    ' activate the slide
              
              'Setting the slide title variable, based on the worksheet name
              slTitle = ActiveSheet.Name
              
              'Paste the picture in the newly created slide
              PPApp.ActiveWindow.View.Paste
              DoEvents
               
              'Select first region of data
              ActiveCell.CurrentRegion.Select
              Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
              DoEvents
              
              'Paste the data in the newly created slide
              PPApp.ActiveWindow.View.Paste
              DoEvents
              
              'Select next region of data
              Selection.End(xlToRight).Select
              Selection.End(xlToRight).Select
              
           
              'Add the title to the slide
              PPSlide.Shapes.Title.TextFrame.TextRange.Text = slTitle
                
            Next Shape
End If
Next mysht








Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
    
     

End Sub

aaClaim_Performance_Analytic_Tool_-_Combined_-_WC_FORMATTING_APRIL_2019 PARED.xlsxCPAT NEW FORMAT TEST.pptx