Timing issues are common when VBA code invokes functions that are not under the control of the host application, especially if those functions are called repeatedly in a loop.
Copy and Paste are functions of the OS. As VBA can execute more quickly than data can be transferred to, and, especially, from, the clipboard it is necessary to use
DoEvents, as Andrew suggested.
If the code calls another application, a delay timer may be necessary.