Para hacer la copia de una carpeta podrias usar esto:
Código:
Set v1 = CreateObject("Scripting.FileSystemObject")
Set v2 = v1.GetFolder("C:\X")
v2.Copy "C:\Y", True
Set v1 = Nothing
Set v2 = Nothing
Espero haberte entendido, kon un Do y DoEvents, puedes definir el tiempo de cada cuando se kopien o algo asi. Saludos.