Ir ao conteúdo
  • Cadastre-se

Excel Macro para Copiar dados de uma Pasta e Colar Valores em outra


Posts recomendados

Boa Noite a todos,

 

Estou com dificuldades em acertar no código.

Tenho duas pastas, uma que será alimentada durante todo o dia (Origem) e outra pasta (DESTINO) que salvará todos os dados da pasta origem  e deve permanecer FECHADA.

A pasta DESTINO deverá abrir somente para salvar e já fechar assim que for selecionado o botão de SALVAR na planilha ORIGEM.

Abaixo segue o código que tentei desenvolver porém ele está salvando na pasta de DESTINO mais não está fechando e retornando para a pasta de ORIGEM que terá os dados apagados para novo preenchimento.

 

Sub salvar_registro()
'
' Macro1 Macro
'
Dim wsORIGEM As Worksheet
Dim wsDESTINO As Worksheet
Workbooks.Open Filename:="\\Mfgsvr\svn\CONTENÇÃO\BASE\BASE CONTENÇÃO.xlsx"
Set wsORIGEM = Workbooks("Controle diário contenção.xlsm").Worksheets("REGISTRO NOVO")
Set wsDESTINO = Workbooks("BASE CONTENÇÃO.XLSX").Worksheets("BASE")

    
    With wsORIGEM
    
    wsORIGEM.Range("A2:K37").Copy
    wsDESTINO.Range("A99999").End(xlUp).Offset(1, 0).Select
   
      Application.CutCopyMode = False
      
      End With
      Workbooks("BASE CONTENÇÃO.wlsx").Close SaveChanges:=True
      wsORIGEM.Range("A2:K37").ClearContents
      wsORIGEM.Range("A2").Select
      
      MsgBox "REGISTRO DE CONTENÇÃO SALVO COM SUCESSO"
   
End Sub

 

Quando clico em executar a linha em negrito fica amarela e aparece a mensagem dizendo: SUBSCRITO FORA DO INTERVALO.

Preciso que os dados da ORIGEM salvem na pasta DESTINO que deve ser salva e fechada para que o MSGBOX aparaça na pasta ORIGEM já com as células vazias para novo preenchimento.

 

Por favor se alguem puder me ajudar, por que minha cabeça já não esta pensando em mais nada.

 

Eu agradeço muito!!!!

 

 

 

 

Link para o comentário
Compartilhar em outros sites

 

Provavelmente o erro esteja ocorrendo devido a parte em vermelho conforme abaixo.

Workbooks("BASE CONTENÇÃO.wlsx").Close SaveChanges:=True

 

experimente trocar o "w" pelo "x"

Workbooks("BASE CONTENÇÃO.xlsx").Close SaveChanges:=True

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Olá, Ana.

O seu código é destinado a:

1. abrir o arquivo BASE CONTENÇÃO

2. copiar o intervalo A2:K37 da planilha REGISTRO NOVO

3. colar na primeira célula vazia da coluna A da planilha BASE do BASE CONTENÇÃO

4. salvar e fechar o arquivo BASE CONTENÇÃO

5. limpar o intervalo A2:K37 da planilha REGISTRO NOVO

 

Após a correção do erro que você comentou acima:

a. quais etapas dessas cinco que relacionei o código está executando corretamente ?

b. o código executa até o final (até exibir a mensagem ...SALVO COM SUCESSO) ou está travando  antes de exibir a mensagem ?

c. se o código executa até o final, quais etapas estão apresentando resultado satisfatório e quais não ?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...