Como copiar ou mover ficheiros de uma pasta para outra com base numa lista no Excel?
Se tiver uma lista de nomes de ficheiros numa coluna de uma folha de cálculo, com os respetivos ficheiros localizados numa pasta do seu computador, e precisar de mover ou copiar esses ficheiros — cujos nomes estão listados na folha — da pasta original para outra, tal como ilustrado na seguinte captura de ecrã, como pode concluir esta tarefa da forma mais rápida possível no Excel?
Copiar ou mover ficheiros de uma pasta para outra com base numa lista no Excel com código VBA

Copiar ou mover ficheiros de uma pasta para outra com base numa lista no Excel com código VBA
Para mover ficheiros de uma pasta para outra com base numa lista de nomes de ficheiros, o código VBA seguinte poderá ajudá-lo. Siga os passos abaixo:
1. Mantenha premidas as teclas Alt + F11 no Excel; isto abrirá a janela do Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o seguinte código VBA na janela do módulo.
Código VBA: Mover ficheiros de uma pasta para outra com base numa lista no Excel
Sub movefiles()
'Updateby Extendoffice
Dim xRg As Range, xCell As Range
Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog
Dim xSPathStr As Variant, xDPathStr As Variant
Dim xVal As String
On Error Resume Next
Set xRg = Application.InputBox("Please select the file names:", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
xSFileDlg.Title = " Please select the original folder:"
If xSFileDlg.Show <> -1 Then Exit Sub
xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\"
Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
xDFileDlg.Title = " Please select the destination folder:"
If xDFileDlg.Show <> -1 Then Exit Sub
xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\"
For Each xCell In xRg
xVal = xCell.Value
If TypeName(xVal) = "String" And xVal <> "" Then
FileCopy xSPathStr & xVal, xDPathStr & xVal
Kill xSPathStr & xVal
End If
Next
End Sub
3. Em seguida, prima a tecla F5 para executar este código; irá aparecer uma caixa de diálogo a solicitar que selecione as células que contêm os nomes dos ficheiros, conforme mostra a captura de ecrã:

4. Depois, clique no botão OK e, na janela que surge, selecione a pasta que contém os ficheiros que pretende mover, conforme mostra a captura de ecrã:

5. Em seguida, clique em OK e selecione a pasta de destino onde pretende guardar os ficheiros noutra janela que surge, conforme mostra a captura de ecrã:

6. Finalmente, clique em OK para fechar esta janela. Os ficheiros foram agora movidos para a pasta que especificou, com base nos nomes de ficheiro na Lista de Planilhas, conforme mostra a captura de ecrã:

Nota: Se pretender apenas copiar os ficheiros para outra pasta, mantendo os ficheiros originais, utilize o código VBA abaixo:
Código VBA: Copiar ficheiros de uma pasta para outra com base numa lista no Excel
Sub copyfiles()
'Updateby Extendoffice
Dim xRg As Range, xCell As Range
Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog
Dim xSPathStr As Variant, xDPathStr As Variant
Dim xVal As String
On Error Resume Next
Set xRg = Application.InputBox("Please select the file names:", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
xSFileDlg.Title = "Please select the original folder:"
If xSFileDlg.Show <> -1 Then Exit Sub
xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\"
Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
xDFileDlg.Title = "Please select the destination folder:"
If xDFileDlg.Show <> -1 Then Exit Sub
xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\"
For Each xCell In xRg
xVal = xCell.Value
If TypeName(xVal) = "String" And xVal <> "" Then
FileCopy xSPathStr & xVal, xDPathStr & xVal
End If
Next
End Sub

Desbloqueie a Magia do Excel com KUTOOLS AI
- Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
- Programação VBA: Escreva e implemente código VBA com facilidade.
- Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
- Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos