Página 1 de 1

Salvar e Fechar com VBA

Enviado: 05 Jun 2017 às 13:54
por fjjohann
Prezados,
Tenho um arquivo Excel que abro através de um .Bat

Assim que ele abre, preciso de um VBA que atualize todas as Consultas, Salve e Feche o arquivo.

Atenção: preciso que feche somente este arquivo, se existir outros arquivos excel abertos, devem permanecer.

Estou com este Código, que não está funcionando:
Erro: Assim que ele abre, aparece a mensagem "Esta ação cancelará uma atualização de dados pendente. Continuar?"


Módulo 1: (Em: Geral - Atualiza)
Sub Atualiza ()
ActiveWorkbook.RefreshAll
End Sub

Esta pasta de Trabalho: (Em: Workbook - Open)
Private Sub Workbook_Open()
Módulo1.Atualiza
ActiveWorkbook.Save
ThisWorkbook.Save
Application.Quit
End Sub

Re: Salvar e Fechar com VBA

Enviado: 05 Jun 2017 às 14:37
por alexandrevba
Boa tarde!
Tente...
Código: Selecionar todos
'Este código em Módulo comum
Sub Atualiza()
    ThisWorkbook.RefreshAll
    MsgBox "Dados atualizados!"
End Sub
Código: Selecionar todos
'Esta pasta de Trabalho: (Em: Workbook - Open)
Private Sub Workbook_Open()
Call Atualiza
ThisWorkbook.Save
Workbooks("nomeDoArquivo.xlsm").Close
End Sub
Att

Salvar e Fechar com VBA

Enviado: 07 Jun 2017 às 08:34
por fjjohann
Prezado @alexandrevba, Obrigado pelo auxílio, porém não está funcionando de acordo, seguem imagens:

Módulo 1:
Imagem

Esta Pasta de Trabalho:
Imagem

Erro:
Imagem

Re: Salvar e Fechar com VBA

Enviado: 07 Jun 2017 às 10:33
por Feka
É porque está dando conflito com a atualização e as demais ações da macro.

Para resolver isso tem que desmarcar a opção habilitar atualização em segundo plano nas propriedades da conexão. Assim ele vai primeiro atualizar os dados e só depois prosseguirá as demais ações.