Unfortuantly, as CRMatthews pointed out Sleep will lock up the entire application but what they did not say is that if done for a long enough time, the application will become unresponsive in task manager and any kind of attempts by the user to interact with the program will only frustrate the user.
While a doevents loop with sleep is certainly one way to have your application pause for a few minutes, you idea of a timer "MAY" be a better solution. Lets say you want your program to pause for five minutes, then do something, and pause once again for five minutes...
Option Explicit
Dim PauseCount As Integer
Private Sub Form_Load()
Timer1.Interval = 60000 'one minute
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
If PauseCount >= 5 Then
PauseCount = 0
'do some stuff
Else
PauseCount = pausecnt + 1
End If
End Sub
Good Luck