Assign an Action Setting, Run Macro action to multiple shapes at once
Problem
Sometimes you need to apply an action setting to several different shapes at once. Unfortunately, PowerPoint won't allow that. If you select more than one shape at a time, it grays out the Action Settings item on its menus. This can be especially annoying when you need to apply the same Run Macro setting to many shapes.
Solution
This macro will assign the same Run Macro action setting to all selected shapes. If you run it without selecting shapes first, it won't do anything.
Sub MacrifyUs() Dim oSh as Shape Dim sMacroName as String ' Edit this; change the name of the macro in quotes to your macro's name sMacroName = "MyMacroName" ' No fancy error handling; just ignore errors On Error Resume Next For Each oSh In ActiveWindow.Selection.ShapeRange With oSh.ActionSettings(ppMouseClick) ' or ppMouseOver if you prefer .Run = sMacroName .Action = ppActionRunMacro End With Next End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.