LISTBOX COM CÓDIGO VBA LENTO

PABLOMOREIRAGV 05/03/2015 13:35:50
#445001
Olá pessoal

Tenho uma planilha com várias abas e nela abre um Userform com um listbox que lista todas as abas existentes, e ao clicar em um item no listbox, um label mostra a quantidade de página que contém no item que foi selecionado. Porém quando se trata de um arquivo de tem muitas abas e a medida que vai clicando e vário itens, a sua execução fica cada vez mais lenta. Coloquei um botão [Ô]Selecionar Tudo[Ô], que ao clicar tem momentos que o arquivo dá pau.
Alguém sabe alguma forma que possa resolver este problema. Alguma forma de deixar o processo rápido?


Obrigado,
Pablo
FILMAN 05/03/2015 19:23:13
#445020
Resposta escolhida
Olá, PABLOMOREIRAGV

Eu vi o seu código e apontarei o que esta acontecendo!

Problema:
  • Ao executar o clique no botão selecionar todos loop acaba fazendo um laço com o evento Change do ListBox e isso ocasiona na lentidão!
  • Cada seleção no ListBox que você executa é chamado o Change do List que percorre todo o list e veja quem esta marcado!

    Solução:
  • Colocar o Código do Change em um método separado Crie um procedimento (SUB) que execute esse método;
  • No listbox em vez de usar o Change use o MouseUp e chame o procedimento dentro dele;


    Espero ter ajudado!
  • PABLOMOREIRAGV 05/03/2015 21:48:35
    #445022
    Obrigado Filman, realmente deu certo aqui...

    abs...
    Tópico encerrado , respostas não são mais permitidas