Usuário com melhor resposta
Abrir pasta excel oculta para consulta de dados

Pergunta
-
Boa noite Pessoal,
Estou com um VBA que ao clicar no botão de pesquisa, ele abre um outro arquivo excel, puxa os dados e fecha. Porém no momento que isto acontece, a tela da uma "piscada", ou seja, a nova janela abrindo e fechando rapidamente.
Workbooks.Open Filename:=Range("C3").Value NOME = Application.WorksheetFunction.VLookup(txtID.Text, Range("$A:$B"), 2, 0) ActiveWorkbook.Close
Como impedir que isto ocorra?
Agradeço a todos!
Respostas
-
Renan,
caso esteja rodando uma versão anterior ao 2010, a única saída que vejo para contornar isso seria verificar quantas pastas de trabalho estão abertas antes de executar o comando e então aplicar o 'Quit' quando necessário. O problema disso é que podem existir pastas de trabalho abertas sem estarem visíveis (como o caso da Personal.xlsb), daí vc teria que desconsiderá-las. O código abaixo exibe as pastas de trabalho que estão abertas na janela de verificação imediata (Ctrl+g):
Dim Pastas As Workbook If Val(Application.Version) < 14 Then For Each Pastas In Workbooks Debug.Print Pastas.Name Next End If
Abraço.Filipe Magno
- Sugerido como Resposta André Santo segunda-feira, 3 de agosto de 2015 20:20
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator quinta-feira, 5 de novembro de 2015 15:37
Todas as Respostas
-
-
Perfeito Filipe!!
Deu certo aqui... já havia usado antes e não funcionou... mas agora está ok! rsrs
Só uma outra dúvida, mas acredito que você deve saber...
No momento de fechar a pasta de trabalho, já usei vários códigos e ele ou fecha a planilha e deixa a aplicação aberta, ou então ele fecha todas as pastas de trabalho abertas além da que possui o código...
já tentei vários:
'ActiveWorkbook.Close
'Application.Quit
'Windows("teste.xlsx").Close
'ThisWorkbook.Close
'ActiveWorkbook.Sheets("Plan1").Close
Poderia me ajudar? desde já agradeço pela sua ajuda Filipe!
- Editado renancapano sábado, 1 de agosto de 2015 12:56
-
Renan,
não entendi bem o que precisa. O comando 'Quit' encerra o Excel e com ele todos os documentos que estiverem abertos. O 'Close' fecha a pasta de trabalho solicitada, mantendo todos os demais abertos. A partir do Excel 2010, caso o arquivo seja o único aberto, o 'Close' também encerrará a aplicação.
Poderia explicar melhor o que precisa?
Abraço.
Filipe Magno
-
Obrigado pelo resposta!
Sim, justo é este o problema.... estou usando justo o
ActiveWorkbook.Close
e ele não age conforme vc explicou. Mesmo sendo a única planilha aberta, ele não encerra a aplicação do excel. Ele fica com a tela cinza e a planilha somente, é que fecha.
-
Renan,
caso esteja rodando uma versão anterior ao 2010, a única saída que vejo para contornar isso seria verificar quantas pastas de trabalho estão abertas antes de executar o comando e então aplicar o 'Quit' quando necessário. O problema disso é que podem existir pastas de trabalho abertas sem estarem visíveis (como o caso da Personal.xlsb), daí vc teria que desconsiderá-las. O código abaixo exibe as pastas de trabalho que estão abertas na janela de verificação imediata (Ctrl+g):
Dim Pastas As Workbook If Val(Application.Version) < 14 Then For Each Pastas In Workbooks Debug.Print Pastas.Name Next End If
Abraço.Filipe Magno
- Sugerido como Resposta André Santo segunda-feira, 3 de agosto de 2015 20:20
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator quinta-feira, 5 de novembro de 2015 15:37