Here's something basic that will cycle thru 5 sheets, displaying each sheet for 30 seconds.
Public RunWhen As Double
Public Const cRunIntervalSeconds = 30 ' 30 seconds
Public Const cRunWhat = "SwitchSheet" ' the name of the sub to call
Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds) ' Current time + interval
Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, Schedule:=True
End Sub
Sub SwitchSheet()
Dim SheetNum As Integer
SheetNum = Sheets(ActiveSheet.Name).Index ' current sheet number
If SheetNum <= 4 Then ' set value to 1 less than max sheets to cycle thru
SheetNum = SheetNum + 1 ' increment to next sheet
Else
SheetNum = 1
End If
Worksheets(SheetNum).Activate ' activate next sheet
StartTimer ' start timer for next cycle
End Sub