PowerPoint 2013: Which slides are using a particular slide layout

errI have a layout that's used by quite a number of slides. However, in slide master view, all I see are a few slide numbers and then dots (ellipses)
I want to see which layout is used by which slides.
How can I do this?
See my problem in the graphic below.
Who is Participating?
Jamie GarrochConnect With a Mentor PowerPoint Consultant & DeveloperCommented:
Thanks for tempting me Echo!

Here's a macro that should do what you want:

Option Explicit

' =================================================================
' PowerPoint VBA macro to show the assignment of layouts to slides
' Note : assumes there is only one slide master
'        (but could be modified to cope with more)
' Written by : Jamie Garroch of YOUpresent Ltd.
' Date : 25NOV2016
' =================================================================
Sub ShowLayoutUse()
  Dim oSld As Slide
  Dim Msg As String
  Dim ArrLayouts() As String
  Dim LayoutIndex As Long
  Dim counter As Long
  Msg = "Layouts assigned to the following slides:" & vbCrLf
  With ActivePresentation
    ReDim ArrLayouts(1 To .SlideMaster.CustomLayouts.Count)
    For Each oSld In .Slides
      LayoutIndex = oSld.CustomLayout.Index
      ArrLayouts(LayoutIndex) = ArrLayouts(LayoutIndex) & IIf(ArrLayouts(LayoutIndex) = "", "", ",") & oSld.SlideIndex
    For counter = 1 To .SlideMaster.CustomLayouts.Count
      Msg = Msg & IIf(Msg = "", "", vbCrLf) & .SlideMaster.CustomLayouts(counter).Name & " : " & ArrLayouts(counter)
  End With
  MsgBox Msg, vbOKOnly, "Layouts Assignment - a Macro by YOUpresent.co.uk"
End Sub

Open in new window

Example output:

Layouts macro output
Echo_SConnect With a Mentor Commented:
Manually, there's really no good way to do this. You'd have to switch to Normal view and select each slide and then click the Layout button to see which has been applied.

I'm sure Jamie or John will be along to tell us how it can be done with code!

Oh, one trick is to put a rectangle or textbox just off one edge of the layout (in the workspace), then when you look at the slides in Normal view, you can see the label in the workspace. It won't show in slide show view, but it will help you identify which layout is in use.
JSRWilsonConnect With a Mentor Commented:
This should give you a printable record.

Sub which_LO()
   Dim L As Long
   Dim strReport As String
   Dim strCL As String
   Dim strSld As String
   Dim osld As Slide
   Dim iFileNum As Integer
   Dim filePath As String

   filePath = Environ("USERPROFILE") & "\Desktop\Layouts.txt"
   iFileNum = FreeFile

   For L = 1 To ActivePresentation.SlideMaster.CustomLayouts.Count
      strCL = ActivePresentation.SlideMaster.CustomLayouts(L).Name
      For Each osld In ActivePresentation.Slides
         If osld.CustomLayout.Index = L Then strSld = strSld & "Slide: " & osld.SlideIndex & " / "
      Next osld
      If strSld <> "" Then
         strSld = Left(strSld, Len(strSld) - 3)
         strReport = strReport & strCL & vbCrLf & strSld & vbCrLf & vbCrLf
         strSld = ""
         strCL = ""
      End If
   Next L
   Open filePath For Output As iFileNum
   Print #iFileNum, strReport
   Close #iFileNum
   Call Shell("NOTEPAD.EXE " & filePath, vbNormalFocus)
End Sub

Open in new window

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

She's just a temptress!
Jamie GarrochPowerPoint Consultant & DeveloperCommented:
And you sir. Well, you're just too fast. I'm going to start calling you speedy Gonazales. Arriba arriba!
brothertruffle880Author Commented:
Wow.  Great help.  Thanks to all!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.