Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Sobreposição de planilhas ao pesquisar
Sobreposição de planilhas ao pesquisar
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: (nota: censurei a preto alguns dados privados)
Quando fecho a caixa de pesquisa e caixa do formulário, continua sobreposto: 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.
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: (nota: censurei a preto alguns dados privados)
Quando fecho a caixa de pesquisa e caixa do formulário, continua sobreposto: 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.
Re: Sobreposição de planilhas ao pesquisar
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
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
Re: Sobreposição de planilhas ao pesquisar
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.
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.
Re: Sobreposição de planilhas ao pesquisar
Xico,
Que trabalhão para descobrir o problema meu amigo.
Seria possível disponibilizar o arquivo? Pois agora fiquei intrigado também.
Abs
Que trabalhão para descobrir o problema meu amigo.
Seria possível disponibilizar o arquivo? Pois agora fiquei intrigado também.
Abs
Re: Sobreposição de planilhas ao pesquisar
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
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