Excel trava ao abri...
 
Notifications
Clear all

Excel trava ao abrir form a partir de botão

4 Posts
3 Usuários
0 Reactions
2,319 Visualizações
(@gamboaisrael)
Posts: 68
Trusted Member
Topic starter
 

Pessoal, boa noite.

Em uma planilha tenho um botão simples que aciona uma macro.

Nesta macro consta o código abaixo que é bem simples e só exibe o formulário:

Sub AbreForm()
    frm_Documentos.Show
End Sub

No entanto, quando clico no botão pra abrir o formulário ocorre o erro abaixo:

Se clicar em depurar, o excel trava. Se clicar em fechar, ele fecha, mas quando reabre continua não funcionando.

Já apaguei o módulo no qual a macro estava, criei outro módulo, reescrevi a macro, troquei o botão, mas nada resolveu.

O estranho é que cópias dessa planilha rodam em 4 máquinas há uns 3 meses. Dessas máquinas, ela apresentou esse erro em 3 nessa semana. Já substitui o arquivo na máquina do usuário, mas não adiantou. Testei a planilha em outras máquinas e em algumas funciona e em outras repete o erro. Não tentei reparar ou reinstalar o excel em nenhuma, pois está fora da minha alçada aqui na empresa.

Procurei por algo na net, mas não encontrei nada.

Meu formulário não tem nada demais, só alguns textboxes, rótulos, um controle multipage, grava as informações em uma planilha e carrega as informações digitadas anteriormente quando abre o form. Funcionou perfeitamente em todas as máquinas até essa semana.

Alguém já viu isso?

 
Postado : 20/02/2014 3:39 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Amigo, eu já tive problema com essa mensagem de erro. Não foi com userform, mas foi com VBA.

A planilha que eu usava simplesmente travava do nada, mas a versão anterior (backup) funcionava normalmente.

Minha solução foi pegar o backup, refazer as alterações e colocar os dados novamente.

Eu sempre tive por prática, quando termino uma planilha, salvo e gero um arquivo zipado com ela limpa.

Depois dessa, se eu coloco muito código, eu já faço uma rotina de backup periódico.

Quem sabe alguém tenha uma outra alternativa.

 
Postado : 20/02/2014 3:56 pm
(@gamboaisrael)
Posts: 68
Trusted Member
Topic starter
 

Meu formulário não tem nada demais, só alguns textboxes, rótulos, um controle multipage, grava as informações em uma planilha e carrega as informações digitadas anteriormente quando abre o form.

Pessoal, consegui resolver.

Fui colocando umas msgbox ao longo da rotina de abertura do form para ver até onde ele abria sem dar erro, já que com a depuração do VB Editor ele rodava normal. Porém eu percebi que independentemente de onde eu colocasse as msgbox o form abria normalmente! Pensei que, por algum motivo que foge ao meu conhecimento, a rotina precisava de uma pausa pra poder terminar de carregar corretamente e seguir. Como não dava pra deixar uma msgbox no meio da abertura do form, resolvi colocar o comando DoEvents no início do código do módulo que carrega as informações pro meu form.

Public Sub PopulaForm()
With frm_Documentos

DoEvents

...

Funcionou perfeitamente.

Testei em todas as máquinas e tá rodando bem.

Obrigado pela ajuda, gtsalikis. Também tenho rotina de backup, mas o erro aparecia mesmo nas planilhas de lá.

Obrigado pessoal!

 
Postado : 21/02/2014 6:03 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

 
Postado : 21/02/2014 7:57 am