VBA in PowerPoint - selecting one of the shapes with the same name within the slide

thorn91

New Member
Joined
Jun 4, 2022
Messages
5
Office Version
  1. 365
Platform
  1. Windows
Hello

The question is about use of VBA for PowerPoint, so hopefully it is ok to post here.

My system at work generates PPT with multiple shapes on one slide. All the shapes are generated with the same shape name (lets assume "shape1"). Is there a way to access one or many selected shapes (lets assume certain four shapes out of twenty) and operate on them with VBA code?
 

Excel Facts

Add Bullets to Range
Select range. Press Ctrl+1. On Number tab, choose Custom. Type Alt+7 then space then @ sign (using 7 on numeric keypad)
Hi,
I think it will be difficult to distinguish between the different shapes through code if they all have the exact same name.
If manually selecting the desired shapes on the relevant slide is an option for you, then the code below may be a draft of a way to access each of the desired shapes in sequence.

VBA Code:
Sub Example()
    
    Dim sr As PowerPoint.ShapeRange
    Dim s As PowerPoint.Shape
    
    Set sr = PowerPoint.ActiveWindow.Selection.ShapeRange
    For Each s In sr
        '
        ' do some stuff
        '
    Next s
End Sub
 
Upvote 0
Solution
Hi,
I think it will be difficult to distinguish between the different shapes through code if they all have the exact same name.
If manually selecting the desired shapes on the relevant slide is an option for you, then the code below may be a draft of a way to access each of the desired shapes in sequence.

VBA Code:
Sub Example()
  
    Dim sr As PowerPoint.ShapeRange
    Dim s As PowerPoint.Shape
  
    Set sr = PowerPoint.ActiveWindow.Selection.ShapeRange
    For Each s In sr
        '
        ' do some stuff
        '
    Next s
End Sub
yep, i acutally think this might be the only way. thank you
 
Upvote 0
You are welcome and thanks for posting back (y)
 
Upvote 0

Forum statistics

Threads
1,213,530
Messages
6,114,162
Members
448,554
Latest member
Gleisner2

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top