

By using the LBound (lower bound) and UBound (upper bound) functions, you can ensure that your loop statement cycle through the proper amount of times. This snippet of code ensures that you are looping through every single piece of data inside your arrays. Shp.Top = (.SlideHeight \ 2) - (shp.Height \ 2) Shp.Left = (.SlideWidth \ 2) - (shp.Width \ 2) Set shp = myPresentation.Slides(MySlideArray(x)).Shapes.PasteSpecial(DataType:=2) 'Excel 2007-2010 Set myPresentation = PowerPointApp.ActivePresentation MsgBox "PowerPoint could not be found, aborting." 'Handle if the PowerPoint Application is not found MsgBox "PowerPoint Presentation is not open, aborting."

'If PowerPoint is not already open then Exit Set PowerPointApp = GetObject(class:="PowerPoint.Application") 'PURPOSE: Copy Excel Ranges and Paste them into the Active PowerPoint presentation slides
