Flexible Slide Numbering
This handy VBA routine from John Wilson of PowerPoint Alchemy will number your slides consecutively, starting at any slide in the presentation. It gives you the option of skipping Title slides in the numbering sequence.
When asked for a starting number, enter 999 to delete all slide numbers.
Adjust the variable sngLeftPos to change the position of the number on the slide.
Sub Numberme() 'Copyright PowerPoint alchemy 'Numbers consecutively from a start slide but does not number title slides if requested 'enter 999 to remove numbers On Error GoTo ErrHandler Dim lFrom As Long, lTot As Long, lNum As Long, n As Long Dim sngLeftpos As Single, strTask As String Dim oSld As Slide, oShp As Shape lFrom = CInt(InputBox("start numbering from slide ...?")) If lFrom <> 999 Then strTask = MsgBox("Number Title layout slides?", vbYesNo) lNum = 1 lTot = ActivePresentation.Slides.Count 'strip old numbers For Each oSld In ActivePresentation.Slides For Each oShp In oSld.Shapes If oShp.Name = "snumber" Then oShp.Delete Next oShp Next oSld 'main routine sngLeftpos = 550 If lFrom = 999 Then Exit Sub If lFrom > lTot Then MsgBox "You have chosen a start point > than the number of slides!", vbCritical, "Error" Exit Sub End If For n = lFrom To lTot With ActivePresentation.Slides(n).Shapes.AddTextbox(msoTextOrientationHorizontal, _ Left:=sngLeftpos, _ Top:=500, _ width:=200, _ height:=50) If strTask = vbNo And ActivePresentation.Slides(n).Layout = ppLayoutTitle Then ' don't number the slide but increment the slide number ' comment the following line out if you want title slides to be skipped ' ie, not to be included in numbering sequence and not numbered lNum = lNum + 1 Else .TextFrame.TextRange.Text = CStr(lNum) .Name = "snumber" lNum = lNum + 1 End If End With Next Exit Sub ErrHandler: MsgBox "Sorry there's an error!", vbCritical End Sub