PowerPoint 2016 VBA - selecting a shape problem

hindersaliva
hindersaliva used Ask the Experts™
on
My presentation has 10 slides. The shape "Note 85" is on Slide 2. The following code I thought would look for the shape on any of the slides. Strangely, it seems to only look at the shapes in Slide 1. But I can't see why!!!
Can somebody see what I'm missing please?
Thanks.

Note: if "Note 85" is on Slide 1 it finds it.

strShapeToSelect = "Note 85"

For Each sld In ActivePresentation.Slides

    Set shp = sld.Shapes(strShapeToSelect)

    If Not IsEmpty(shp) Then
        shp.Fill.ForeColor.RGB = RGB(255, 0, 0)
                                    
        Exit For
    End If
Next

Open in new window

Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
CEO PowerPoint Alchemy
Commented:
You are jumping out of the loop with Exit For as soon as a shape is found so it never goes beyond the first hit.

In any case you can just say:

Dim strShapeToSelect As String
Dim sld As Slide
strShapeToSelect = "Note 85"
On Error Resume Next
For Each sld In ActivePresentation.Slides
      sld.Shapes(strShapeToSelect).Fill.ForeColor.RGB = RGB(255, 0, 0)
Next

Open in new window


This will run faster

Author

Commented:
JRSW, it works! Thanks!

But sorry, in my question I foolishly took out a few lines of code to simplify and confused the issue :(
Yes there is an 'On Error Resume Next' in my code. So I'm still not sure why mine only looked at Slide 1.
The full code is

strShapeToSelect = "Note 85"

For Each sld In ActivePresentation.Slides
     On Error Resume Next
     Set shp = sld.Shapes(strShapeToSelect)
     On Error GoTo 0
     If Not IsEmpty(shp) Then
        shp.Fill.ForeColor.RGB = RGB(255, 0, 0)                           
        Exit For
     End If
Next

Open in new window


Just curious. Not essential to my project.

Author

Commented:
Oh yes. It's jumping out before looking at the next slide. (like you said JRSW!)
Thanks. I'll close this question.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial