Skip to main content

Como copiar ou mover arquivos de uma pasta para outra com base em uma lista no Excel? 

Author: Xiaoyang Last Modified: 2025-06-04

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

copy files from one folder to another based on a list


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:

 select the cells which contain the file names

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:

select the folder which contains the files to move from

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:

select the destination folder  to locate the files

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:

the files have been moved into another folder

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
a screenshot of kutools for excel ai

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.
Potencialize suas capacidades no Excel com ferramentas alimentadas por IA. Baixe Agora e experimente uma eficiência como nunca antes!

Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: Revolucione a análise de dados com base em: Execução Inteligente | Gerar Código | Criar Fórmulas Personalizadas | Analisar Dados e Gerar Gráficos | Invocar Funções Aprimoradas
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço sem Perder Dados | Arredondar...
Super PROC: PROC com Múltiplos Critérios | PROC com Múltiplos Valores | Procura em várias planilhas | Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente uma Lista Suspensa | Lista Suspensa Dependente | Lista Suspensa com Múltipla Seleção...
Gerenciador de Colunas: Adicionar um Número Específico de Colunas | Mover Colunas | Alternar Estado de Visibilidade das Colunas Ocultas | Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco | Visualização de Design | Barra de fórmulas aprimorada | Gerenciador de Pasta de trabalho & Planilha | Biblioteca de AutoTexto | Selecionador de Data | Mesclar Dados | Criptografar/Descriptografar Células | Enviar Email por Lista | Super Filtro | Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...) | Mais de50 Tipos de Gráficos (Gráfico de Gantt, ...) | Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ...) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ... e muito mais

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!