Notifications
Clear all

Fechar Planilha Somente Após Atualização

3 Posts
1 Usuários
0 Reactions
1,484 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caros,

Meu problema é simples (pra quem já passou por isso e resolveu.. rs).

Tenho um código numa planilha do Excel que abre outra, atualiza ela, salva e fecha. Porém, ela demora um pouco para atualizar (devido a quantidade de dados), mas o código VBA não espera o termino dessa atualização e já pula para o código seguinte, expondo na tela uma mensagem dizendo "o comando fechar ira cancelar o comando 'atualizar dados' em andamento".

Minha pergunta: Há alguma linha de código que eu possa incluir para que somente após a atualização completa da planilha o código posterior de salvar e fechar seja executado?

Código:

ActiveWorkbook.RefreshAll

Workbooks("Nome_Do_Arquivo").Close True, "Nome_Do_Arquivo"

Abraços,
Carlos Santiago

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/07/2012 6:26 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Carlos, acredito ser melhor vc postar seus arquivos aqui, compactados de acordo com as regras do forum, para que possamos indicar o melhor caminho.

Valeu!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/07/2012 6:30 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Fernando,

Os meus documentos são muito grandes, mas anexei 3 arquivos (um banco de dados em access e 2 arquivos em Excel ) que simulam o meu problema.

Obs.:

O Arquivo "Pasta1.xlsx" possui uma tabela vinculada ao banco de dados access (arquivo "bd.accdb").

No documento "Controle.xlsm" eu criei um botão que, ao ser clicado, ira abrir uma caixa de diálogo do Excel solicitando que você localize o arquivo "Pasta1.xlsx". Ao seleciona-lo, o código VBA irá abrir este arquivo, selecionar a Plan2 (deste mesmo arquivo), atualizar esse arquivo, e depois salvar e fechar.

O meu dilema é que o arquivo "Pasta1.xlsx" e muito pesado, então ele demora para atualizar, contudo, o VBA passa pelo comando atualizar e vai para o comando salvar/fechar, mas exibe um alerta dizendo que "está ação (salvar/fechar) irá interromper o comando anterior (atualizar planilha)".

Gostaria da ajuda de vocês para que apenas após a atualização do arquivo "Pasta1.xlsx", o código seguinte seja executado, ou seja, salvar e fechar o documento.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/07/2012 8:43 pm