Backup automático de arquivos com Excel VBA

MR
Marcos Rieper

Especialista em Excel

14 de junho de 2015 Atualizado 08 de julho de 2026 4 min de leitura
Backup automático de arquivos com Excel VBA

Objetivo: Disponibilizar um arquivo Excel que realiza o backup automático de arquivos com Excel VBA.

Backup Excel VBA

Esta planilha foi criada pelo meu amigo Edney Nascimento, ao qual agradeço pela colaboração com o site.

O Edney já colaborou enviando mais dois arquivos:

Marcar vários filtros na tabela dinâmica automaticamente – VBA

Excel converter taxa de juros em períodos – Ano para mês, mês para dia…

Caso o leitor queira auxiliar com o crescimento da base de conhecimento da internet em Excel, além de divulgar seus trabalhos, é só enviar um comentário em qualquer página do Guia do Excel, eu leio e respondo todos os comentários que são sempre bem-vindos.

Neste artigo vamos disponibilizar uma planilha Excel que realiza o backup de arquivos, não necessariamente de Excel, copiando de uma pasta para outra.

A interface é a seguinte:

Backup Excel VBA 2

ARQUIVO: Digite aqui o nome do arquivo, inclusive a extensão do mesmo;

DIRETÓRIO DE ORIGEM: Inscreva aqui o diretório aonde o arquivo está armazenado;

DIRETÓRIO DE DESTINO: Digite a pasta aonde será salvo o arquivo, o nome do arquivo salvo será o mesmo;

STATUS: Este campo é preenchido quando o arquivo é copiado ou quando há um erro na cópia do mesmo, este tratamento de erros está em português, facilitando a correção;

TÉRMINO: Data e hora do término da cópia do arquivo, pois irá depender do tamanho do mesmo.

Ao lado da tabela estão dois botões:

GERAR BACKUP: Efetua a cópia dos arquivos que estejam com a descrição do status diferente de OK, ou seja, se houver um erro na primeira tentativa ou estiver em branco a descrição do campo status, os arquivos serão copiados;

LIMPAR: Realiza a limpeza das colunas Status e Término, para que possa ser realizado um novo backup completo dos arquivos.

Abaixo o código VBA que realiza a cópia dos arquivos e a limpeza dos mesmos, e logo abaixo o botão para o download do arquivo Excel.

Sub GerarBackup()
'Macro gravada em 11/06/2015 por Edney Nascimento

On Error Resume Next
'On Error GoTo Erro_GerarBackup
     
     Dim Mensagem As String
     Dim NomeArquivo As String, DiretorioOrigem As String, DiretorioDestino As String
     Dim UltimaLinha As Long
     
     UltimaLinha = ActiveSheet.Cells(1, 1).End(xlDown).Row
     
     'Executa o processo para cada um dos arquivos existentes
     For i = 2 To UltimaLinha
          
          If Range("D" & i).Value  "OK" Then
            'Carrega as informações do arquivo a ser copiado
            NomeArquivo = Cells(i, 1).Text
            DiretorioOrigem = Cells(i, 2).Text & "\"
            DiretorioDestino = Cells(i, 3).Text & "\"
            
            FileCopy DiretorioOrigem & NomeArquivo, DiretorioDestino & NomeArquivo
            
            'Tratamento de erros para verificar se a cópia do arquivo foi executada com sucesso
            Select Case Err.Number
                 Case 0:   'OK
                           Cells(i, 4).Value = "OK"
                           Cells(i, 5).Value = Now
                           
                 Case 53:  'Arquivo não encontrado
                           Cells(i, 4).Value = "ERRO (ARQ. NAO ENCONTRADO)"
                           
                 Case 70:  'Arquivo aberto
                           Cells(i, 4).Value = "ERRO (ARQUIVO ABERTO)"
                           
                 Case 75:  'Acesso não permitido no diretório de destino
                           Cells(i, 4).Value = "ERRO (ACESSO NEGADO)"
                           
                 Case 76:  'Diretório não encontrado
                           Cells(i, 4).Value = "ERRO (PASTA NAO ENCONTRADA)"
                           
                 Case Else:
                           Mensagem = "Arquivo: " & NomeArquivo & vbCrLf & _
                                     "Pasta Origem: " & DiretorioOrigem & vbCrLf & _
                                     "Pasta Destino: " & DiretorioDestino & vbCrLf & _
                                     "Erro: " & Err.Number & " " & Err.Description
                           MsgBox Mensagem, vbExclamation
                           Cells(i, 4).Value = "ERRO"
            
            End Select
            
            'Zera a variável antes de iniciar a cópia do próximo arquivo
            Err.Number = 0
        End If
               
     Next i
     
     
Fim:
     Exit Sub

Erro_GerarBackup:
     
     Mensagem = Err.Number & " " & Err.Description
     MsgBox Mensagem
     
End Sub

Sub lsLimpar()
    Dim lUltimaLinhaAtiva As Long
    
    lUltimaLinhaAtiva = Worksheets("Backup").Cells(Worksheets("Backup").Rows.Count, 1).End(xlUp).Row
    
    Range("D2:E" & lUltimaLinhaAtiva).Clear
    
End Sub
Download — baixe aqui: Backup Excel

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

Abraço
Marcos Rieper

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