excel

10 dicas do que deve fazer e não fazer com o VBA do Excel

Aqui irá encontrar algumas dicas do que deve ter em conta quando começar a desenvolver as suas prórias soluções em Excel VBA. Seguir estas dicas não é nenhuma panacea para o manter longe dos problemas de programação, mas segui-las pode ajudá-lo a evitar problemas que muitos já enfrentaram.

Declarar todas as variáveis

Eis como é conveniente: ‘Começe simplesmente por escrever o seu código VBA sem que tenha a tarefa fastidiosa de declarar cada variáveis que quer utilizar. Embora o Excel permita utilizar variáveis não declaradas, fazê-lo é sinómimo de arranjar futuros problemas.

O primeiro mandamento da programação VBA deveria ser a seguinte:

Declarar todas as variáveis!

Se lhe falta disciplina, ative a opção “Option Explicit” no topo dos seus módulos. Dessa forma, o seu código não irá correr se incluir variáveis não declaradas. Não declarar todas as variáveis só tem uma vantagem: Poupa alguns segundos. Mas usar variáveis não declaradas poderá vir a fazer-lhe a vida negra.

Não confundir passwords com segurança

Um projeto VBA apenas protegido por password  e está safo, não é? Errado.

Usar uma password no VBA irá evitar que alguns utilizadores vejam o seu código. Mas se alguém realmente quiser ver o código-fonte, irá arranjar maneira de conseguir.

Se precisa mesmo que o seu código seja um segredo, o Excel não é a opção ideal para uma plataforma de desenvolvimento.

Limpe o seu código

Depois de ter a sua aplicação a funcionar bem, deverá limpar o código. A limpeza do código deverá incluir o seguinte:

  • Assegure-se que todas as variáveis estão declaradas.

  • Assegure-se que todas as linhas estão devidamente indentadas para que a estrutura do código seja evidente.

  • Remova das ajudas a que recorreu para remover erros no código, como MsgBoxes e Debug.Prints.

  • Renomeie variáveis com nomes fracos. Por exemplo, se usar uma variável chamada MyVariable, existe uma boa chance de poder dar lhe um nome mais descritivo. Irá agradecer a si próprio mais tarde.

  • O seu módudo tem, provavelmente, algumas rotinas com testes que escreveu enquanto tentava descobrir algo. Já fizeram a sua função, por isso, apague-as.

  • Adicine comentários para que possa entender mais tarde como o código funciona.

  • Assegure-se que não tem erros de ortografia nas Message Boxes e nos UserForms .

  • Verifique se tem código redundante. Se tem mais do que uma rotina com blocos de código semelhantes, pense em criar uma nova rotina que possa ser chamada em cada uma das rotinas iniciais.

Não coloque tudo numa única rotina

Quer criar um programa impossível de entender? Uma forma eficiente de o fazer é colocar todo o código numa única rotina. Se, mais tarde, voltar ao código para fazer alterações, provavelmente irá fazer asneira e introduzir alguns lindos erros.

Consegue ver qual é o problema? A solução é um código modular. Divida o seu programa em partes mais pequenas, cada uma com uma tarefa específica. Depois de adoptar este hábito, perceberá que escrever código livre de bus é mais fácil do que nunca.

Considere outros softwares como possibilidades

O Excel é um programa extremamente versátil,mas não é apropriado para tudo. Quando estiver pronto a iniciar um novo projeto, leve algum tempo a pensar noutras possibilidades. Parafrasiando um “ditado antigo”, “Quando a única coisa que sabes é Excel VBA, tudo parece uma macro VBA.”

Não assuma que todas a gente terá as macros ativas

Como sabe, o Excel permite-lhe abrir um workbook quando as macros estão desativadas.

Ativar as macros quando se abre um workbook de origem desconhecida pode não ser muito boa ideia, claro. Portanto, precisa de conhecer os seus utilizadores. Em algumas empresas, todas as macros do Microsoft Office estão desativadas, e os utilizadores não têm palavra nessa matéria.

Algo a ter em mente é adicionar uma assinatura digital aos workbooks que distribui a outros. Dessa forma, o utilizador pode assegurar-se de onde os workbooks vêm realmente e que estes não foram alterados. Consultando a ajuda do Excel poderá obter mais informação sobre como criar assinaturas digitais.

Habitue-se a experimentar

Fazer algumas experiências simples é quase tão eficiente quanto adicionar uma nova ideia ao seu código sem perceber o que aquelas experiências lhe dão.

Não assuma que o seu código irá funcionar noutras versões do Excel

Atualmente, pelo menos cindo versões do Excel são usadas pela grande maioria das pessoas em todo o mundo. Quando desenvolve uma aplicação para o Excel, não tem nenhuma garantia absoluta de que esta irá funcionar sem qualquer problema noutras versões mais antigas ou mais recentes. Em alguns casos, a incompatibilidade irá ser óbvia. Mas também descobrirá que coisas que deveriam funcionar com versões mais antigas não funcionarão.

O Excel inclui uma útil ferramenta de compatibilidade (File  →  Info  →  Check For Issues  →  Check Compatibility), mas apenas verifica o workbook e ignora o código VBA. A única forma de ter a certeza de que a sua aplicação funciona corretamente noutras versões é testar nessas outras versões.

Mantenha em mente os seus utilizadores

Se desenvolve aplicações para outros, o seu trabalho é mais difícil pois não pode assumir o mesmo que assume para si quando desenvolve uma aplicação para o seu próprio uso.

Por exemplo, você pode ser mais relaxado com o tratamento dos erros, quando é o único utilizador da aplicação.Se surgir um erro, você vai encontrar como corrigi-lo. No entanto, se alguém está a usar a sua aplicação e surge o mesmo erro, essa pessoa não vai ter a mesma sorte. E quando você desenvolver uma aplicação para si próprio não precisa de criar um manual de instruções.

É preciso perceber o nível de conhecimentos que aqueles que utilizam as suas aplicações e tentar antecipar problemas que eles possa vir a ter. Experimente imaginar-se como um novo utilizador da sua aplicação, e identificar todas as áreas que possa surgir confusão ou problemas.

Não se esqueça de fazer backups

Nada é mais desencorajador do que queimar um disco rígido sem ter um backup. Se está a trabalhar em algum projeto importante, pense no seguinte: “Se o seu computador morrer daqui a 5 minutos, o que terá perdido?” Se a sua resposta for mais do que umas horas de trabalho, precisa de pensar bem nos seus procedimento de backup.

 

Tradução livre de o artigo de John Walkenbach em Excel VBA Programming For Dummies, 4th Edition

Posted in Uncategorized.