Como copiar ou mover arquivos de uma pasta para outra com base em uma lista no Excel?
Se você tem uma lista de nomes de arquivos em uma coluna de uma planilha e os arquivos estão localizados em uma pasta no seu computador, pode ser necessário mover ou copiar esses arquivos, cujos nomes estão listados na planilha, da pasta original para outra, conforme mostrado na captura de tela a seguir. Como você poderia realizar essa tarefa o mais rápido possível no Excel?
Copie ou mova arquivos de uma pasta para outra com base em uma lista no Excel usando código VBA
Copie ou mova arquivos de uma pasta para outra com base em uma lista no Excel usando código VBA
Para mover arquivos de uma pasta para outra com base em uma lista de nomes de arquivos, o seguinte código VBA pode ajudá-lo; por favor, siga estas instruções:
1. Pressione as teclas Alt + F11 no Excel, isso abrirá a janela 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 arquivos de uma pasta para outra com base em uma 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, pressione a tecla F5 para executar este código, e uma caixa de aviso aparecerá para lembrá-lo de selecionar as células que contêm os nomes dos arquivos, veja a captura de tela:
4. Depois clique no botão OK, e na janela que apareceu, selecione a pasta que contém os arquivos que deseja mover, veja a captura de tela:
5. E depois clique em OK, continue selecionando a pasta de destino onde deseja colocar os arquivos em outra janela que apareceu, veja a captura de tela:
6. Finalmente, clique em OK para fechar a janela, e agora os arquivos foram movidos para outra pasta especificada com base nos nomes de arquivos da lista da planilha, veja a captura de tela:
Observação: Se você quiser apenas copiar os arquivos para outra pasta, mantendo os arquivos originais, aplique o seguinte código VBA:
Código VBA: Copiar arquivos de uma pasta para outra com base em uma 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 o Kutools AI
- Execução Inteligente: Realize operações de células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- Fórmulas Personalizadas: Gere fórmulas sob medida para otimizar seus fluxos de trabalho.
- Codificação VBA: Escreva e implemente código VBA sem esforço.
- Interpretação de Fórmulas: Compreenda fórmulas complexas com facilidade.
- Tradução de Texto: Supere barreiras linguísticas dentro de suas planilhas.
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!