Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Sobreposição de planilhas ao pesquisar

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
Xico
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Fev 03, 2016 7:47 am

Sobreposição de planilhas ao pesquisar

Mensagem por Xico »

Bom dia a todos!

Desde já obrigado ao criador deste modelo e a todos os que dão suas ajudas aqui no fórum, tenho aprendido bastante convosco.

Surgiu-me um problema "gráfico" para o qual não encontro solução nem neste fórum nem na internet, pelo que solicito vossa ajuda.

Quando tenho o formulário aberto e clico em PESQUISAR, a planilha onde estão alojados os dados surge no fundo, conforme podem ver na seguinte imagem:
01.jpg
01.jpg (271.28 KiB) Exibido 5202 vezes
(nota: censurei a preto alguns dados privados)

Quando fecho a caixa de pesquisa e caixa do formulário, continua sobreposto:
02.jpg
02.jpg (288.83 KiB) Exibido 5202 vezes
No entanto, se de seguida descer a página até desaparecer a planilha sobreposta e voltar a subir, fica tudo normal.

Já tentei ocultar a planilha dos dados, com password, e mesmo assim ela aparece sobreposta quando faço pesquisa.

No fundo, a planilha activa é a "Aplicacao" mas a que aparece é a "BD".

Utilizo o excel 2007, o formato do ficheiro é .xlsm e o mesmo acontece num outro computador novo que tenho.

Desde já obrigado por eventuais ajudas que me possam dar.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Sobreposição de planilhas ao pesquisar

Mensagem por srobles »

Xico,

Procure nos códigos dos formulário por instruções do tipo :

Application.ScreenUpdating = False. Caso encontre alguma, adicione a mesma instrução com valor True ao final do código, isso, caso não exista esta instrução.

Application.Visible = True. Caso encontre alguma, mude seu valor para False.

Se atente especialmente para a instrução Application.Visible, pois esta esconde a janela do Excel, deixando apenas os formulários visíveis.

Abs


Xico
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Fev 03, 2016 7:47 am

Re: Sobreposição de planilhas ao pesquisar

Mensagem por Xico »

srobles, obrigado pela resposta.

Eis o que consegui apurar:
- em nenhuma das forms aparecem as instruções Application.ScreenUpdating ou Application.Visible
- na versão 2.3 (.xls) do meu modelo não ocorre o erro. O que se verifica é que quando se carrega no botão pesquisar a planilha que aloja os dados surge no fundo e desaparece em milésimas de segundo, não permitindo sequer a leitura de qualquer dado;
- na versão 2.4 e 2.5 (.xlsm), quando se carrega no botão pesquisar, a planilha que aloja os dados surge no fundo (conforme as imagens) e não desaparece, a não ser que se desloque a página para baixo e para cima e assim "limpa" o ecrã;
- comparei o código das forms da versão 2.3 com o das forms da 2.4 e não visualizei qualquer alteração;
- dado a única diferença entre a 2.3 e a 2.4 ser o formato (.xls para .xlsm) gravei de novo a versão 2.3 no formato .xlsm e o erro não se reproduziu no novo ficheiro, por isso julgo que o problema não tenha a ver com o formato;
- ponderei que tivesse a ver com a quantidade de dados mas já percebi que não porque a versão 2.3 e a 2.4 têm a mesma quantidade de linhas ocupadas.

No entanto, houve evoluções. A instrução Application.ScreenUpdating que me ensinou foi bastante útil. Adicionei-a nas duas forms, da seguinte forma:
- Na frmFicha

Private Sub btnPesquisar_Click()
frmPesquisa.Show
Application.ScreenUpdating = True
End Sub

- Na frmPesquisa

Private Sub UserForm_Initialize()
Call PopulaComboOrdena
Call PopulaComboDirecao
Call OrdenaLista
Call PopulaListBox(vbNullString, vbNullString, vbNullString, vbNullString, vbNullString, vbNullString)
Application.ScreenUpdating = True
End Sub

O que aconteceu é que o erro de sobreposição acontece na mesma mas apenas durante cerca de 1 segundo. Continua a permitir que por breves instantes se visualizem alguns dados mas sempre já está melhor porque desaparece logo de seguida.

Continuo intrigado com o problema pois não faço a mínima ideia do que possa ser.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Sobreposição de planilhas ao pesquisar

Mensagem por srobles »

Xico,

Que trabalhão para descobrir o problema meu amigo.

Seria possível disponibilizar o arquivo? Pois agora fiquei intrigado também.

Abs


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Xico
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Fev 03, 2016 7:47 am

Re: Sobreposição de planilhas ao pesquisar

Mensagem por Xico »

Bom dia srobles!

Desculpa a demora mas tenho andado bastante ocupado com o trabalho e outras coisas.

Hoje perdi algum tempo com esta questão e consegui resolver o problema.

Aqui fica como fiz:

- na frmFicha coloquei

Private Sub btnPesquisar_Click()
frmPesquisa.Show
Application.ScreenUpdating = True
End Sub


- na frmPesquisa coloquei

Private Sub btnFiltrar_Click()
Call OrdenaLista
Application.ScreenUpdating = True
Call PopulaListBox(txtMoradaInstalacao.Text, txtNomeComunicante.Text, txtNumeroDoc.Text, txtTelefone.Text, txtTelemovel.Text, txtNumeroRegisto.Text)
End Sub


e

Private Sub UserForm_Initialize()
Call PopulaComboOrdena
Call PopulaComboDirecao
Call OrdenaLista
Application.ScreenUpdating = True
Call PopulaListBox(vbNullString, vbNullString, vbNullString, vbNullString, vbNullString, vbNullString)
End Sub


De momento está tudo a funcionar em condições. Espero que esta ajuda que me deu possa ser útil a outras pessoas. Obrigado :)


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder