0190-Dica VBA: Algoritmo + Recursos + Sintaxe = Código

Afinal de contas, o que é preciso para aprender a fazer macros?

Há alguns anos, criar programas era uma atividade que exigia conhecimentos específicos.

Os computadores eram bichos papões.

As linguagens de programação eram como textos escritos em grego.

Mas o cenário mudou radicalmente.

Com a popularização dos computadores pessoais, mais pessoas tiveram acesso à tecnologia que antes era privilégio de uns poucos “escolhidos”.

Os pacotes de programas de escritório como o Microsoft Office, trouxeram o “trinômio essencial”: editor de texto, planilha eletrônica e criador de apresentações.

Através desses três grupos de aplicativos, milhões de pessoas foram perdendo o medo do computador.

Um grupo mais ousado percebeu que nem todos os seus problemas eram plenamente resolvidos com essas ferramentas, e surgiu a necessidade de ir um passo além.

As macros conectaram os usuários de PCs ao mundo dos programadores.

Uma multidão de leigos passou a criar pequenos programas que resolviam problemas específicos do seu cotidiano, automatizando tarefas repetitivas e/ou complexas.

E aí chegamos ao cerne da questão: por que as pessoas tem dificuldades em criação de macros?

Fazendo um levantamento das dúvidas que surgem em fóruns especializados, chegamos à conclusão que cerca de 80% das dúvidas surgidas se relacionam à dificuldade de escrever o código, enquanto os 20% restantes dizem respeito ao desconhecimento dos recursos do VBA ou à dificuldade de implementá-los.

Concluímos então que a grande dificuldade não é o VBA em si. É a falta de familiaridade com a criação de algoritmos.

Mas o que são algoritmos?

Vou me apropriar da definição encontrada na Wikipedia:

Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita.

O conceito de algoritmo é frequentemente ilustrado pelo exemplo de uma receita culinária, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema.

Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Sua implementação pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções em mais ou menos tempo, espaço ou esforço do que outros. Tal diferença pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo. Por exemplo, um algoritmo para se vestir pode especificar que você vista primeiro as meias e os sapatos antes de vestir a calça enquanto outro algoritmo especifica que você deve primeiro vestir a calça e depois as meias e os sapatos. Fica claro que o primeiro algoritmo é mais difícil de executar que o segundo apesar de ambos levarem ao mesmo resultado.

Por mais inteligente que o Excel possa parecer, assim como qualquer aplicativo, ele executará exatamente o que for dito para ser executado. Se o instruirmos incorretamente, obteremos resultados incorretos.

Lembro que, há muitos anos, vi um analista reclamando que o Excel calculava a média de um conjunto de valores referentes a entradas mensais de forma errada: “todos os meses tenho que apagar e reescrever a fórmula…”.
Ao verificar a célula que continha a “média” dos valores que deveriam ser inseridos no intervalo A1:A12, observei que estava escrito =(A1+A2+A3+A4+A5+A6+A7+A8+A9+A10+A11+A12)/5.

“Está vendo. Está certo até maio, agora que inseri o valor de junho vou ter que modificar a fórmula. Tenho que sempre ficar lembrando de modificar ou o relatório é impresso de forma errada…”

Obviamente ele ficou maravilhado quando mostrei a ele que a fórmula =MÉDIA(A1:A12) resolvia em definitivo o problema dele.

Assim como nesse caso, temos visto continuamente erros de definição do problema para o Excel.

Quando pensamos em programas em VBA, ou em outra linguagem qualquer de programação, temos que definir corretamente o problema e explicar ao programa cada passo a ser executado.

Quase sempre, há mais de uma abordagem para solucionar um problema, mas um vez definida qual será utilizada, seus passos devem ser sequenciados corretamente, ou não obteremos o resultado desejado.

Imaginem uma situação na qual precisamos:
1. Excluir a coluna B;
2. Definir uma fórmula que relacione os valores das colunas A e B.

Se invertemos a sequência, realizando o passo 2 antes do passo 1, vamos obter um erro nas fórmulas (#REF!) por que estarão definidas referenciando uma coluna excluída.

Por isso eis algumas dicas para criar códigos de forma eficiente:

  1. Salve uma cópia do seu arquivo se contiver dados importantes. Além de assegurar que não perca informações, se sentirá com mais liberdade para realizar as mudanças nas planilhas.
  2. Defina corretamente o escopo que deseja realizar. Saber qual o resultado a ser obtido é a primeira etapa para alcançá-lo.
  3. Tente realizar, parcial ou totalmente, as etapas necessárias. Visualizar as mudanças ocorrendo faz com que compreendamos melhor o código que escrevemos.
  4. Tome nota dos passos realizados. Seja mentalmente ou num pedaço de papel, essas nota são o rascunho do código a ser criado.
  5. Depois de concluir o seu rascunho, execute todos os passos manualmente. Se algo der errado, altere a(s) etapa(s) correspondente(s) até que obtenha o resultado desejado.
  6. Antes de escrever o seu código, verifique se sabe escrever cada uma das etapas. Se não souber, acione o gravador de macros e grave as etapas que tiver dúvida, uma por vez. Verifique o que foi gravado e certifique-se de compreender os comandos, para que possa implementá-los no seu código
  7. Crie um novo procedimento, transcreva suas anotações e trechos gravados até ter concluído todas as etapas.
  8. Insira comentários no seu código para ter certeza que está realizando tudo da maneira prevista.
  9. Execute seu código, passo a passo, pressionando F8. Essa depuração permitirá que veja cada passo sendo executado e corrigir possíveis erros.
  10. Se todas as etapas anteriores forem adequadamente implementadas, seu código pode finalmente ser executado.

Vale a pena destacar que nas etapas 6 e 7 é que efetivamente utilizamos conhecimentos específicos de VBA.
Nesse momento é que são necessários os conhecimentos sobre Recursos e Sintaxes.

Recursos: O que é possível realizar utilizando o linguagem de programação?
O VBA nos permite alterar propriedades, executar métodos e funções. É importante que compreendamos de que formas os nossos códigos alteram os objetos do Excel.

Exemplos:

Objetivo: A célula A1 deve ser preenchida com a cor amarela.
O que ocorre: A propriedade que define a cor da célula deve ser modificada para o valor “amarela”

Objetivo: Ajustar a largura das colunas A:E ao seu conteúdo.
O que ocorre: O método que ajusta a largura das colunas deve ser executado.

Sintaxe: Como as alterações são realizadas?
Ou seja, de que forma devem ser escritos os comandos de forma a serem compreendidos pelo VBA.

Explorando os mesmos exemplos acima:

Objetivo: Uma célula deve ser preenchida com a cor amarela.
O que ocorre: A propriedade que define a cor da célula deve ser modificada para o valor “amarela”
Como fazer: Range(“A1”).Interior.ColorIndex = 6

Objetivo: Ajustar a largura das colunas A:E ao seu conteúdo.
O que ocorre: O método que ajusta a largura das colunas deve ser executado.
Como fazer: Columns(“A:E”).Autofit

E como aprender sobre recursos e sintaxe?

  • O Help do VBA é uma fonte valiosa de informações;
  • Utilizar o gravador para executar a etapa sobre a qual temos dúvida;
  • Pesquisar diretamente na internet (Ex. Para a pergunta “Como copiar células utilizando VBA?”, obtivemos 23.700 referências);
  • Acompanhar blogs e sites especializados para conhecer exemplos de códigos;
  • Postar suas dúvidas em fóruns ou grupos de discussão.

E o mais importante de tudo: Não tenha medo, nem preguiça de tentar. Quanto mais tentar escrever códigos, melhor os escreverá.

In Excel We Trust

Marcado com: , , , ,
Publicado em Nível: Avançado
Um comentário em “0190-Dica VBA: Algoritmo + Recursos + Sintaxe = Código
  1. Linoel Lanhoso disse:

    muito bom continue assim

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Visitas dos usuários
  • 1,969,548

Clique para assinar este blog e receber notificações de novos artigos por email.

Junte-se a 1.477 outros seguidores

Aumente sua interação

Siga-nos do twitter (@usuariosdoexcel).

Acesse o nosso fórum e compartilhe as suas dúvidas.

Curta nossa página no Facebook.

Junte-se ao grupo do LinkedIn.

Visite-nos utilizando o seu smartphone ou tablet.

Recomende este Blog
Visualizar notícias
Site monitorado:
Real Time Web Analytics

Clicky

%d blogueiros gostam disto: