Pow, Fernando, esse "seja objetivo" é sacanagem, kkkk.
Já tive esse problema algumas vezes.
No começo, enquanto estava aprendendo, eu fiz alguns códigos que as vezes funcionavam, as vezes não. Ou funcionavam se eu os executasse 2 ou 3 vezes. Não lembro bem para explicar porque, mas posso dizer que, depois de ter um pouco mais de experiência, eu refiz os códigos e nunca mais falharam. Ou seja, fui eu quem não escreveu direito.
Também tive alguns problemas em códigos que "deviam funcionar", mas não funcionaram. O que fiz foi "amarrar" melhor, assumindo o controle de algumas coisas, por exemplo, usando "option explicit", interrompendo os cálculos (cálculo manual dda planilha) durante a execução do código, pegando as datas como Cdate(range), por exemplo. Emfim, o código "se perdeu" porque eu tinha deixado ele aberto para se perder. A partir do momento em que eu resolvi "assumir o controle", não deu mais erro.
Outros casos são com medidas de controle e segurança que geram descontrole. Por exemplo, não uso mais "on error resume next", porque em 99% dos casos só atrapalha. Em formulários, também, tem muita gente tentando controlar quando vc pode acessar um textbox, etc, e vão incluindo eventos e mais eventos para controlar de todas as formas. Eu simplesmente deixo todos eles desabilitados, e só permito que seja habilitado o textbox que vc pode usar, e somente QUANDO vc pode usar, para não aumentar os problemas.
No mais, eu crio subs pequenas (ou faço blocos), e, antes de começar, estabeleço padrões que vou seguir em todas as subs, assim, eu testo todas as subs (ou bocos) exaustivamente, para tentar evitar erros. E, claro, como eu tento seguir o mesmo padrão em todas, fica mais fácil evitar, identificar e corrigir erros. (Principalmente se eu uso chamar uma sub dentro de outra).
Por último, eu evito (tanto quanto possível), usar recursos mais específicos. Por exemplo, eu vi e tive vários problemas com listview que some devido à versão do Excel instalado e dos plugins e atualizações. Também tive problemas por causa da variação entre sistemas de 32 e 6 bits. Então, se eu posso escolher, eu prefiro fazer um código que evite esses recursos. Porém, se não tiver solução, então eu faço uso deles, mas já sabendo que posso ter problemas.
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Postado : 16/04/2015 9:00 am