For a simple solution see below. I've used this for years:

1) Place a timer on a form.
Name it tmrWaiting
Set its interval property to 1000. (That’s 1 second)

2) Declare a form level Boolean variable. E.G. Dim waiting as Boolean

3) In the timer event. Just type:
waiting = false

4) On the line where the delay must be, type:

waiting = True
Print "Hello"
Do While waiting
DoEvents
Loop
Print "Bye"

Here’s an example. Just tyhe same really: ... Simples. Good luck. Paul

Option Explicit

Dim waiting As Boolean

Private Sub Form_Activate()
waiting = True
Print "Hello"
Do While waiting
DoEvents
Loop
Print "Bye"
End Sub

Private Sub tmwWaiting_Timer()
waiting = False
End Sub

This question has already been answered. Start a new discussion instead.