Página 1 de 1

Erro ao reabrir um formulario no vba EXCEL

Enviado: 03 Fev 2022 às 17:59
por Henrique1993
Boa tarde!!!

Tenho um Sistema com várias Userform's no VBA, e preciso navegar entre elas.

utilizo commandbotton's para abrir os formulários

e quando clico a primeira vez ele abre a Userform corretamente, porém quando fecho e tento reabrir, ela trava e não funciona mais nada.

Utilizo o metódo .Show para abrir o formulário

Já tentei rodar com o Load Userform1 e tbm não funciona.

Re: Erro ao reabrir um formulario no vba EXCEL

Enviado: 04 Fev 2022 às 15:49
por topscore
Henrique1993, imagino que vc use o Hide quando sai do userform, e o Show quando volta.
Se você tem códigos para rodar no formulário depois que você volta nele, eles não funcionam, não sei por que. Ex:
Código: Selecionar todos
Form1.show
me.multipage1.value = 2
me.textbox1.setfocus
Nesse exemplo, ele vai mostrar o Form1 e parar por ai, não vai executar os comandos para multipage nem textbox1.

Na primeira vez que você abre o formulário, ele executa o Initialize conforme seus critérios. Por isso dá certo. Quando vc usa o hide para sair dele, ele não está fechado, só escondido. Por isso, quando vc dá um Show nele de novo ele não executa o Initialize, pois não está inicializando de verdade.

Solução, se for esse o problema:
Unload Form1 ao invés de Form1.hide
Aí, a cada Form1.show, ele roda o inicialize conforme seus critérios.
É possível deixar o initialize variável, avise se precisar de ajuda.