Salvar CÓPIA (BACKUP) de Planilha Excel AUTOMATICAMENTE ao Fechar Arquivo via Códigos VBA

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 พ.ย. 2024

ความคิดเห็น • 73

  • @ulissesafonseca
    @ulissesafonseca 10 หลายเดือนก่อน +1

    Explicação e código muito úteis... Obrigado! Um detalhe: Depois da virada do ano o código passou a apagar o arquivo mais recente (devido ao formato da data, que iniciava pelo dia). Fiz um ajuste, substituindo a linha
    Data = VBA.Replace(VBA.Date, "/", "_") 'Resulta em 31_12_2023
    por
    Data = Format(VBA.Date, "yyyy_mm_dd") 'Resulta em 2023_12_31
    Com isso a data fica organizada por ano.

    • @CanalSGP
      @CanalSGP  10 หลายเดือนก่อน

      Bom dia, que bom que resolveu.

    • @CanalSGP
      @CanalSGP  2 หลายเดือนก่อน

      Bom dia, que bom que resolveu.

    • @iisahBlox
      @iisahBlox 27 วันที่ผ่านมา

      Amigo, sua ideia foi fantástica. Até falei com o criador do canal na epoca mas nao conseguiu me ajudar. Parabens. Eu ainda alterei também a hora, colocando Format(VBA.Time, "hh_mm"). Vc é monstro! Salvou minhas planilhas

  • @caecavallini
    @caecavallini 2 ปีที่แล้ว +2

    "EITAAAA LASQUEEEEERAAAA"... 😄
    Muito boa suas explicações!!!
    Parabéns pelo canal!!!! 🏆

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Muito obrigado.

  • @FernandoSilva-og4uu
    @FernandoSilva-og4uu 2 ปีที่แล้ว +1

    Parabéns pelo ensino e explicação, seguindo os passos que você dá, não tem como errar, fiz este procedimento para outras planilhas que tenho, funcionou perfeitamente.

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Obrigado, que bom que deu certo.

  • @iisahBlox
    @iisahBlox 27 วันที่ผ่านมา +1

    seu video é fantastico, ganhou um seguidor a tempos, sempre te acompanho. porem a dica para todos substituir: Data = VBA.Replace(VBA.Date, "/", "_") por Data = Format(VBA.Date, "yyyy_mm_dd") e também a hora de Hora = VBA.Replace(VBA.Time, ":", "_") para Format(VBA.Time, "hh_mm"). Pois dessa forma vai excluir corretamente as mais antigas.
    creditos para @ulissesafonseca que foi o criador da ideia.

    • @CanalSGP
      @CanalSGP  27 วันที่ผ่านมา

      Boa noite, obrigado.

  • @iqluiz
    @iqluiz 2 ปีที่แล้ว +1

    A tempos procurava uma automação completa e eficaz pra backups! Obrigado pela Aula perfeita!

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว +1

      Obrigado

  • @rribeirors
    @rribeirors ปีที่แล้ว

    Código sensacional... Parabéns... No meu caso inseri uma macro que cria a pasta com o endereço onde vamos realizar o backup, e rodei ela no início da "Salvar_copia", dessa forma, criando a pasta na primeira execução, e ignorando a criação, caso a pasta já exista...
    Sub criarpasta()
    Dim caminho As String
    caminho = "c:\Backup Planilha\"
    If Dir(caminho, vbDirectory) = "" Then
    MkDir (caminho)
    Else
    End If
    End Sub
    Tbm pensei em criar uma entrada na própria planilha para que o cliente possa determinar manualmente o local do backup, buscando o valor de uma célula específica na planilha, mas para meu projeto não havia necessidade.

    • @CanalSGP
      @CanalSGP  ปีที่แล้ว

      Boa noite, obrigado, que bom que conseguiu adaptar.

  • @danielfreitas7604
    @danielfreitas7604 2 ปีที่แล้ว

    Show de bola muito bom funciona perfeito - com uma unica ressalva. Para mim que implementou funciona perfeitamente, porem meus colegas que utilizam a planilha ao fechar tomam um erro " erro de compilação. É impossível localizar o projeto ou Biblioteca.

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Boa tarde, este erro provavelmente esteja relacionado a bibliotecas ausentes do Excel. Verifique nas referências do vba se tem alguma opção marcada como ausente.

  • @sidneialan5855
    @sidneialan5855 ปีที่แล้ว +1

    Top demais, e esse pacote de planilhas na descrição, já quero, deve ser tudo de bom a um ótimo custo benefício.

  • @raimundomuniz7879
    @raimundomuniz7879 2 ปีที่แล้ว +1

    Vou aplicar em minhas planilhas, estou grato.

  • @sergiosousa8669
    @sergiosousa8669 2 ปีที่แล้ว +1

    Sucesso professor, canal do senhor é o melhor 👏🏼👏🏼👏🏼

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Obrigado pelo elogio

  • @Mazinho1068
    @Mazinho1068 6 หลายเดือนก่อน

    Caro Luan, a aula é show! me envia a planilha desse artigo, por gentileza.

    • @CanalSGP
      @CanalSGP  6 หลายเดือนก่อน

      Boa tarde, solicite no e-mail do site do canal, link na descrição do vídeo.

  • @FernandoSilva-og4uu
    @FernandoSilva-og4uu 2 ปีที่แล้ว

    Boa tarde, observei nas copias dos Backups gerados que a ultima atualização foi a 2 meses atrás e todos os dias abro e fecho para atualização de dados na planilha, quando muda o mês para de fazer o backup tendo que deletar todos os arquivos gerado do mês anterior para voltar a fazer a copia, porque isto esta acontecendo, ou seja todas as vezes que muda de mês tenho que fazer isto para manter os arquivos de backup atualizados.

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Boa tarde, o nome da planilha foi alterado ao trocar de mês? Porque é classificado de A a Z para colocar os arquivos em ordem.

    • @FernandoSilva-og4uu
      @FernandoSilva-og4uu 2 ปีที่แล้ว

      @@CanalSGP Boa noite, O nome da planilha é sempre o mesmo, só preciso apagar os dois arquivos gerados dentro da pasta onde a copia é feita todas as vezes que vira o mês, esse é o único problema o resto esta funcionando show de bola, deixei configurado para manter sempre duas cópias, ou será que tenho que alterar o nome do arquivo todo o dia 1º de cada mês para fazer novas cópia?

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว +1

      Bom dia, o nome antes da data e hora precisa ser o mesmo. Tentei reproduzir o erro, mas sem sucesso, teste ir executando com a tecla F8, para ver se de fato está gerando as cópias e deletando a cópia errada, pode ser que não está salvando.

  • @LucasLima-yb6tf
    @LucasLima-yb6tf 2 ปีที่แล้ว

    Gostaria de colocar uma pesquisa com combo oxi em uma listbox tem algum vídeo explicando?

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Bom dia, com combobox não tenho.

  • @raimundomuniz7879
    @raimundomuniz7879 2 ปีที่แล้ว +1

    Até o fim otimo

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Obrigado

  • @Raphael_Albano
    @Raphael_Albano 2 ปีที่แล้ว +1

    Professor. Ao invés de apagar as antigas, não tem comando que ao salvar, ele já sobrescreve a última que foi salva. Ou seja, abri o programa, fechei, ele salva uma cópia, aí abro e fecho novamente, aí ao invés dele deixar as duas, ele salva sobrescrevendo o arquivo existente.

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว +1

      Boa tarde, neste caso basta deixar sempre o mesmo nome, mas perde a lógica, porque se der erro na sua planilha, quando fechar vai trocar o arquivo e vai ficar com a planilha com problema da mesma forma.

    • @iqluiz
      @iqluiz 2 ปีที่แล้ว +1

      @@CanalSGP vai deixar os ovos numa mesma cesta! Em se tratando de VBA pode confiar, uma hora vai dar um B.O. que vc não poderá abrir nada!

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว +1

      Não entendi exatamente sua dúvida. Mas se for olhar para falhas, todos os sistemas podem enfrentar bugs, mas sempre é bom ter precaução, quem é precavido e busca conhecimento consegue lidar com os problemas.

    • @iqluiz
      @iqluiz 2 ปีที่แล้ว +1

      @@CanalSGP perdão, a resposta era para o Sr. Raphael. Eu sou a favor de manter uma quantidade de backup considerável, pois o VBA tem falhas vindo a corromper arquivos. Eu, como dito no outro comentário, procurava um sistema de backup eficiente que poderia manter ao menos uns 10 arquivos. Obrigado por compartilhar esse conhecimento!

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว +1

      Entendido, sem problemas.

  • @AnandAvikal
    @AnandAvikal 2 ปีที่แล้ว +1

    Valeu!

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Obrigado

  • @construtoras.freitas1663
    @construtoras.freitas1663 ปีที่แล้ว

    sou inscrito e admiro seu trabalho. Montei essa planilha que funcionou por muito tempo. Mas agora ela está apagando o ultimo item salvo ao invés do mais antigo. trabalhei com back up de 60 copias. Em vez de apagar a mais antiga, ela apaga a mais recente. Me ajude por favor.

    • @construtoras.freitas1663
      @construtoras.freitas1663 ปีที่แล้ว

      acho q entendi mas nao consegui solucionar. Ele está apagando por ordem alfabetica, o primeiro nome. Se eu apagar manualmente funciona, salva corretamente.

    • @CanalSGP
      @CanalSGP  ปีที่แล้ว +1

      Boa tarde, acredito que vai precisa montar o nome dos arquivos de forma que fique classificado corretamente. Mas a linha de código que classifica no código é Arr.Sort

    • @construtoras.freitas1663
      @construtoras.freitas1663 ปีที่แล้ว

      @@CanalSGP a pergunta é como classificar de forma decrescente então? Ou como colocar a data ano mes dia. Creio q tb solucionaria o problema

    • @CanalSGP
      @CanalSGP  ปีที่แล้ว +1

      Boa noite, não tentei classificar um array vba de forma descendente ainda, talvez seja mais fácil salvar o array na planilha, ordenar e capturar novamente.

  • @animacoesinesqueciveis
    @animacoesinesqueciveis 2 ปีที่แล้ว

    pode me ajudar? eu uso a mesma planilha em alguns computadores com acesso a mesma rede, (2 windows 10, 2 windows 8). nos computadores win10 está funcionando, porém nos win8 não está funcionando da erro! excluir.
    passando pelo código enquanto executo com f8, ele para no createobject e ja pula pra msg de erro. vc sabe se pode ser por conta da versão do windows ou alguma configuração

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว +1

      Bom dia, talvez seja pela versão Excel, se for diferente, verifique também nas referências do vba, se tem alguma ausente.

    • @animacoesinesqueciveis
      @animacoesinesqueciveis 2 ปีที่แล้ว

      @@CanalSGP Bom dia. Obrigado pela resposta, em todas as maquinas tem o office 2013, mas eu vou dar uma olhada nas referencias

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว +1

      Bom dia, confirme também as versões dos computadores, se são 32 ou 64 bits.

    • @animacoesinesqueciveis
      @animacoesinesqueciveis 2 ปีที่แล้ว

      @@CanalSGP todas são 64, eu consegui resolver obrigada 👍 nas máquinas que não funcionavam o .net framework 3.5 esta desativado nos recursos do windows, foi só ativar que voltou a funcionar

  • @robsonmendes8841
    @robsonmendes8841 2 ปีที่แล้ว +1

    Boa tarde tudo bem , esta dando uma mensagem de erro ,
    Set Arr = CreateObject("System.Collections.ArrayList") erro em tempo de execução . o Sr pode me ajudar

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Boa noite, a princípio a linha de código está correta, verifique se declarou a variável corretamente.
      Dim Arr As Object
      Set Arr = CreateObject("System.Collections.ArrayList")

    • @pedrocarim8000
      @pedrocarim8000 2 ปีที่แล้ว

      @@CanalSGP o meu ta dando o erro do GoTo Erro da Sub Excluir exatamente quando chega nesta etapa do código Set Arr = CreateObject("System.Collections.ArrayList"). Sabe o que pode ser? Meu excel é o 2007, interfere em algo neste código?

    • @JMB9696
      @JMB9696 ปีที่แล้ว

      O meu está dando o mesmo erro nessa parte. Alguém conseguiu resolver?

    • @onandho
      @onandho ปีที่แล้ว +1

      @@JMB9696 consegui resolver o meu problema com essa ajuda th-cam.com/video/hlaFjoZD8uc/w-d-xo.html

  • @andersonramosdasilva9665
    @andersonramosdasilva9665 ปีที่แล้ว +1

    valeu

  • @leandropereira1922
    @leandropereira1922 2 ปีที่แล้ว +1

    Top!!!

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Obrigado

  • @wilsonlopesjunior1043
    @wilsonlopesjunior1043 11 หลายเดือนก่อน

    Na janela Inspeção de variáveis, Arr indica "fora de contexto", na coluna valor. Não estou conseguindo setar o Array

    • @CanalSGP
      @CanalSGP  11 หลายเดือนก่อน

      Boa tarde, solicite a planilha de exemplo no e-mail do site do canal, link na descrição do vídeo.

  • @grupogolden2312
    @grupogolden2312 2 ปีที่แล้ว

    Olá, boa tarde. Tudo bem professor? Gostaria de te pedir uma ajuda. Eu criei duas macros que transformam duas abas diferentes em PDFs. Uma aba está com o conteúdo na horizontal e a outra com o conteúdo na vertical. Meu problema é o seguinte, quando eu aperto nos botões para gerar os pdfs, todas as duas abas são geradas numa num único padrão de layout… gostaria que cada uma delas fossem geradas segundo a configuração de layout delas… já fiz de tudo, até procurei códigos pra resolver isso, e não acho nada a respeito. Pode me ajudar?

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      Bom dia, depende do código que está usando, no vídeo no link a seguir foi feito código que é possível definir. A propriedade xllandascape é para paisagem, xlportrait para retrato.

    • @grupogolden2312
      @grupogolden2312 2 ปีที่แล้ว

      @@CanalSGP Professor, boa tarde. Tudo bem? O link não veio no seu comentário… Poderia postar novamente por favor?

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว +1

      Boa noite, segue link. th-cam.com/video/XoeILfDfiVg/w-d-xo.html

    • @grupogolden2312
      @grupogolden2312 2 ปีที่แล้ว

      @@CanalSGP Professor, muitíssimo obrigado!!! Vou assistir ele com muita calma amanhã, pra tentar resolver meu problema. Em breve volto aqui para informar o senhor!!! Mais uma vez obrigado. Deus abençoe!

    • @CanalSGP
      @CanalSGP  2 ปีที่แล้ว

      De nada

  • @wilsonlopesjunior1043
    @wilsonlopesjunior1043 11 หลายเดือนก่อน

    Professor, no meu caso, está "travando" na linha Set Arr = CreateObjections.ArrayList.

    • @CanalSGP
      @CanalSGP  11 หลายเดือนก่อน

      Bom dia, qual a mensagem de erro.

    • @wilsonlopesjunior1043
      @wilsonlopesjunior1043 11 หลายเดือนก่อน

      Eu comentei o tratamento de erro, rodei o comando e pede depurar na linha do set arr

    • @wilsonlopesjunior1043
      @wilsonlopesjunior1043 11 หลายเดือนก่อน

      Estou ativando os recursos do Windows. Já retorno.

    • @wilsonlopesjunior1043
      @wilsonlopesjunior1043 11 หลายเดือนก่อน

      Funvionou. Meu computador é novo. Foi só ativar os recursos do Windows. Reiniciar e pronto. Está funcionando perfeitamente. Obrigado professor.

    • @CanalSGP
      @CanalSGP  11 หลายเดือนก่อน +1

      Que bom.