Mover e Renomear Arquivos Excel VBA

MR
Marcos Rieper

Especialista em Excel

16 de março de 2021 Atualizado 08 de julho de 2026 3 min de leitura
Mover-e-renomear-arquivos-com-Excel-e-VBA-capa

Mover e Renomear Arquivos Excel VBA

Neste artigo você aprenderá a como mover e renomear arquivos em massa utilizando Excel e VBA com um exemplo prático com código comentado e download do arquivo pronto para uso.

Como mover e renomear arquivos Excel VBA

Com VBA você pode automatizar muitas tarefas no Excel.

No nosso exemplo de solução você poderá renomear e mover arquivos em massa usando o Excel e para pastas e nomes diferentes para cada linha.

O código para mover e renomear um arquivo em Excel é o seguinte

Name "C:\Origem\Arquivo1.txt" As "C:\Destino\Renomeado1.txt"

A função Name no Excel permite que sejam movidos arquivos de uma pasta para outra, inclusive renomeando.

No entanto ela tem algumas restrições:

  1. Esta função não serve apenas para renomear arquivos, mas também pastas. Mas só pode renomear pastas se estiver dentro de uma mesma unidade.
  2. O arquivo sendo movido deve estar fechado, senão ocorrerá um erro.
  3. A função não cria pastas de destino. Para isso use este código: https://www.guiadoexcel.com.br/criar-pastas-automaticamente-com-vba/

Mover e renomear arquivos em massa no Excel

Usando o procedimento Name criei o seguinte código que realiza a movimentação e/ou renomeação de arquivos em massa:

Movimentar renomear arquivos excel vba
Public Sub lsAcaoMover()
    lsMoverArquivoRenomear 1, 2
End Sub

Public Sub lsAcaoDesfazer()
    lsMoverArquivoRenomear 2, 1
End Sub

'Os parâmetros indicam a ordem das colunas de origem e destino
Private Sub lsMoverArquivoRenomear(ByVal lColOrigem As Integer, ByVal lColDestino As Integer)
    On Error GoTo TratarErro
    
    Dim lUltimaLinhaAtiva   As Long
    Dim lRng                As Range
    Dim i                   As Long
    
    'Última linha da lista
    lUltimaLinhaAtiva = Arquivos.Cells(Arquivos.Rows.Count, 2).End(xlUp).Row
    
    'Range de dados com os arquivos na variável
    Set lRng = Arquivos.Range("B9:C" & lUltimaLinhaAtiva)
    
    'Loop para renomear os arquivos um a um
    For i = 1 To lRng.Rows.Count
        Name lRng(i, lColOrigem).Value As lRng(i, lColDestino).Value
    Next i
    
    MsgBox "Arquivo movidos e renomeados com êxito!"
    
Sair:
    Exit Sub
    
TratarErro:
    If Err.Number = 53 Then
        MsgBox "Arquivo de origem não localizado", vbCritical, "Atenção"
    Else
        If Err.Number = 58 Then
            MsgBox "O arquivo já existe", vbCritical, "Atenção"
        Else
            MsgBox "Erro: " & Err.Number & "-" & Err.Description
        End If
    End If
    
    GoTo Sair
End Sub

O código acima contém três partes.

A parte principal é lsMoverArquivoRenomear aonde você tem um procedimento que recebe dois parâmetros:

lColOrigem: 1 ou 2. Se origem for igual a um, destino tem que ser 2. Este campo indica a ordem que serão realizadas as movimentações e renomeações dos arquivos, permitindo desfazer apenas mudando de 1 para 2. O col origem é para indicar a coluna de origem.

lColDestino: 1 ou 2. Se destino for igual a um, destino tem que ser 1. Da mesma forma que a lColOrigem indica a origem o lColDestino indica a coluna de destino.

Desta forma implementamos os dois seguintes procedimentos:

lsAcaoMover: Move e renomeia os arquivos que estão na coluna Arquivo de origem para os que estão na coluna Arquivo de destino.

lsAcaoDesfazer: Desfaz o processo, movendo e renomeando os arquivos que estão na coluna de destino para o nome e caminho da coluna de origem.

Download

Realize o download do arquivo deste exemplo e da vídeo-aula acima neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Download — baixe aqui: Movimentar ou renomear arquivos VBA Excel

Preencha seus dados para receber o link de download no seu e-mail.

Curso Excel Completo – Do Básico ao VBA

Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado