You could do whatever in the code (open form that mimics a message box?) then call a custom timer to which you pass the pause amount (e.g. Pause 5). Next line of code closes the message form. There are lots of examples of this code. I've modified it to accept fractional seconds for when there are lots of loops involved.
Code:
Sub pause(sngSecs As Single)
Dim endTime As Long
endTime = Timer
Do Until Timer > endTime + sngSecs
Loop
End Sub
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.