Otra opción es usar la función Api CopyFile. La ventaja, es que la anterior no funciona cuando el archivo está abierto y puede dar errores.
Para utilizarla, primero debes declararla. En el caso del ejemplo, se hizo en un módulo para hacerla pública.
Código: Text
Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long