Notifications
Clear all

Excel fecha ao se clicar em botão que executa código.

3 Posts
3 Usuários
0 Reactions
1,309 Visualizações
(@marcioafl)
Posts: 1
New Member
Topic starter
 

Bom dia galera,

Tenho uma planilha com código para fazer alguns cálculos e preencher células de forma automática.
Ocorre que, em alguns computadores do setor, ao se clicar no botão que executa o código, o Excel simplesmente fecha.
Na verdade, fecha-se o aplicativo, mas ele continua em segundo plano (verificando-se no gerenciador de tarefas), sendo necessário excluir o processo para abrir o Excel novamente.
A máquina que executa o código normalmente é igual em configuração com aquela que dá o problema. Mesma quantidade de RAM e mesma versão do Excel. :|
Alguém tem alguma dica do que pode estar ocorrendo?
Obrigado.

 
Postado : 30/05/2016 7:59 am
(@mprudencio)
Posts: 2749
Famed Member
 

Disponibilize o arquivo com o codigo

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 30/05/2016 11:21 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Olá, Márcio, bem vindo.

Como sua macro roda bem em algumas mas não em outras máquinas, é um comportamento difícil de diagnosticar assim, de longe, pois não temos como reproduzir o problema sem rodar o arquivo ou pelo menos saber como está estruturado.

Caso seja impossível vc disponibilizar, vamos a algumas suspeitas do que poderia estar causando esse bug:

- Sua pasta de trabalho com macro foi criada usando Excel 64bits mas vc tenta rodar ela num Excel 32bits (ou vice-versa)? Mesmo sendo a mesma versão (ex. Office 2010), alguns problemas podem ocorrer e já foram reconhecidos pela Microsoft.
- Idem para o sistema operacional: versões do Windows diferentes (Ex. Win7 x Win10) ou arquiteturas diferentes (64 x 32 bits), especialmente se existem chamadas às API's ou se vc inseriu ou fez referências a objetos/controles (ActiveX, ...), principalmente se de terceiros. Por falar nisso, esse "botão que executa o código" a que vc se refere foi inserido na planilha como um Controle de Formulário ou como um Controle ActiveX? Tente recriá-lo e reassociar o código para ver se o problema persiste.
- O problema pode estar no seu código. Não sabemos quão complexo ele é, mas ele faz alguma interação com outros objetos? Com algum disco/drive? Carrega o nome do usuário logado na máquina?

O ideal aqui seria vc depurá-lo para ver até onde ele executa normalmente. Aqui vai uma dica que vc poderia usar para testá-lo, caso ele não seja muito extenso:
Logo no início do código do botão insira uma instrução "Stop" (ou crie um "ponto de interrupção", que dá no mesmo). Exemplo:

Private Sub CommandButton1_Click()
   Stop
   'Seu código aqui...
   'Blá, blá, blá
   'etc...
End Sub

Volte agora na planilha e clique no botão para executar o código. A janela do editor VBA se abre e uma seta amarela mostra que ele está em modo depuração. Vá avançando linha por linha de código usando a tecla F8 (depuração total). Assim vc poderá verificar em qual ponto ocorre o crash.

Não esqueça de remover a instrução Stop ao final.

Sds, Edson

 
Postado : 30/05/2016 11:32 pm