Por favor, tente assim.
Copiar ou mover um arquivo
Para um arquivo, você pode usar a função VBA Name e FileCopy e para pastas inteiras ou muitos arquivos, use os outros exemplos de macro nesta página.
Subcópia_Um_Arquivo()
FileCopy "C:\Users\Ron\SourceFolder\Test.xls", "C:\Users\Ron\DestFolder\Test.xls"
End Sub
Sub Move_Rename_One_File()
'Você pode alterar o caminho e o nome do arquivo
Nomeie "C:\Users\Ron\SourceFolder\Test.xls" como "C:\Users\Ron\DestFolder\TestNew.xls"
End Sub
Copie ou mova mais arquivos ou pastas completas
Nota: Leia as linhas de código comentadas no código
SubCópia_Pasta()
'Este exemplo copia todos os arquivos e subpastas de FromPath para ToPath.
'Nota: Se o ToPath já existir, ele substituirá os arquivos existentes nesta pasta
'se o ToPath não existir, ele será feito para você.
Dim FSO como objeto
Dim FromPath como String
Dim ToPath como String
FromPath = "C:\Users\Ron\Data" '<< Alterar
ToPath = "C:\Users\Ron\Test" '<< Alterar
'Se você deseja criar um backup de sua pasta toda vez que executar esta macro
'você pode criar uma pasta exclusiva com um carimbo de data/hora.
'ToPath = "C:\Users\Ron\" & Format(Agora, "aaaa-mm-dd h-mm-ss")
If Right(FromPath, 1) = "\" Então
FromPath = Esquerda(FromPath, Len(FromPath) - 1)
Se acabar
If Right(ToPath, 1) = "\" Então
ToPath = Esquerda(ToPath, Len(ToPath) - 1)
Se acabar
Set FSO = CreateObject("scripting.filesystemobject")
Se FSO.FolderExists(FromPath) = False Então
MsgBox FromPath & "não existe"
Exit Sub
Se acabar
FSO.CopyFolder Fonte:=FromPath, Destino:=ToPath
MsgBox "Você pode encontrar os arquivos e subpastas de " & FromPath & " em " & ToPath
End Sub