Randomize the order of a PowerPoint presentation
Pre-made solutions
Excel MVP Tushar Mehta has a free add-in that creates a custom show of the slides in random order and shows it
There's another VBA example on PowerPoint MVP David Marcovitz' site. Look for examples 8.16 and 8.17. Go to Examples by Chapter and click on Chapter 8.
Bill Dillworth mentions this alternate solution:
Create an action button and have it invoke this macro (that will take you to a random slide):
Private Sub CommandButton1_Click()
ActivePresentation.SlideShowWindow _
.View.GotoSlide Int(Rnd * _
ActivePresentation.Slides.Count) + 1
End Sub
Or roll your own with VBA
This macro from PowerPoint MVP Brian Reilly will randomize the order of slides in a presentation:
Sub sort_rand()
Dim i As Integer
Dim myvalue As Integer
Dim islides As Integer
islides = ActivePresentation.Slides.Count
For i = 1 To ActivePresentation.Slides.Count
myvalue = Int((i * Rnd) + 1)
ActiveWindow.ViewType = ppViewSlideSorter
ActivePresentation.Slides(myvalue).Select
ActiveWindow.Selection.Cut
ActivePresentation.Slides(islides - 1).Select
ActiveWindow.View.Paste
Next
End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.