To get your code to pause without locking up the computer, add this to the Declarations section of your code:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Then when you want a pause:
' Pause for 1 second (1000 milliseconds) Sleep(1000)