A common problem is that server speed changes depending on how many people using it. So your macro may run better at 3.00am
A worksheet takes time to open, so it could be that the code tries to run the next line before it has finished. I could be wrong.
A simple thing that often works is to stop the code for a couple of seconds to allow things to happen (depending how long the workbook takes to open). So try adding code :
Code:Workbooks.Open "F:\book1.xls" DoEvents Application.Wait Now + TimeValue("00:00:05") ' wait 5 seconds (might work without this line)