Antes de continuar lendo
este artigo, recomendo que leia a parte 1 clicando aqui.
Este artigo é totalmente
desprovido de qualquer material de treinamento prático. No entanto, ele contém
algumas informações essenciais de apoio que o ajudam a se tornar um programador
de Excel. Não aborrece tanto quanto você poderia imaginar.
Mas,
o que é VBA?
VBA, que significa Visual
Basic for Applications (Visual Basic para Aplicativos), é uma linguagem de
programação desenvolvida pela Microsoft – você sabe, a empresa que tenta
fazê-lo comprar uma nova versão do Windows a cada ano. O Excel, juntamente com
outros membros do Microsoft Office, inclui a linguagem VBA (sem custos extras).
Resumidamente, VBA é uma
ferramenta que pessoas como você e eu usam para desenvolver programas que
controlam o Excel.
Algumas
palavras sobre terminologia
A terminologia de
programação em Excel pode ser um pouco confusa. Por exemplo, VBA é uma
linguagem de programação, mas serve também como uma linguagem de Macro. Como
você domina algo escrito em VBA executado em Excel? É uma macro ou um programa?
Normalmente, o sistema Help (ajuda) do Excel se refere aos procedimentos VBA
como macros, assim, eu uso essa terminologia.
Uso também o termo
automatizar nos meus artigos. Esse termo significa que uma série de etapas são
completadas automaticamente. Por exemplo, se você escrever uma macro que
acrescenta cor em algumas células, imprime a planilha e depois remove as cores,
essas três etapas foram automatizadas.
A propósito, macro não é um
acrônimo de Messy And Confusing Repeated Operation (Operação Repetida Confusa e
Desordenada). Ao invés disso, ela vem da palavra grega “makros”, que significa
grande – que também descreve seu contracheque depois de se tornar um
programador especialista em Macro.
As Vantagens
e Desvantagens do VBA
“O
VBA está ultrapassado. Linguagem do século XX... Tem até GoTo! Que piada!”
“O
VBA é um lixo, linguagem estruturada, gambiarrado!”
É verdade que você não vai
conseguir criar um sistema de banco ou jogos para celular usando o VBA. Assim
como qualquer linguagem de programação, o VBA tem suas vantagens e
desvantagens. Não estou aqui para defender o VBA, mas se você acreditar que
vale a pena dedicar tempo e energia no VBA, é um bom começo.
Não se deixe levar pelos
falastrões dos cursos de tecnologia, que são como advogados recém-formados que
já acham que são juízes. A maioria deles não sabe de nada de desenvolvimento,
nem mesmo as próprias ferramentas que estudaram na faculdade. Pergunte a eles
para que o VBA foi criado e eles não saberão responder.
Nesta parte descrevo as
coisas boas sobre VBA e também exploro seu lado mais escuro.
As
vantagens do VBA
O VBA foi criado para
resolver problemas e expandir as funcionalidades dos aplicativos do Microsoft
Office. Então, para querer aprender VBA, você já tem que ter um conhecimento
pelo menos básico do aplicativo Office que você usa, como Word, Excel,
PowerPoint ou Outlook. É muito difícil simpatizar com o VBA se você não usa o
Microsoft Office.
O VBA precisa de poucas
linhas de código para resolver um problema de um aplicativo Office que, se
fizesse por outra linguagem, levaria dezenas de linhas. O ambiente de
desenvolvimento de VBA já vem integrado ao aplicativo que você quer
automatizar, enquanto que outra solução necessitaria instalar um software extra
no computador. Você pode ligar qualquer computador que possua Office e começar
a desenvolver em VBA, mas em outras linguagens de programação, não.
Mesmo que você não
desenvolva em VBA futuramente, não terá perdido tempo. O VBA é uma ótima porta
de entrada no mundo de desenvolvimento de software para pessoas que não tem
formação em TI. Além disso, umas das linguagens de programação mais utilizadas
no mercado atualmente, o VB.NET, é uma evolução do VBA, e hoje ela é utilizada
em vários segmentos como desenvolvimento de aplicações web, jogos para
celulares, sistemas ERP e muito mais. O VBA apresenta muita semelhança com o
VB.NET.
Uma grande vantagem do VBA é
a velocidade em que se constroem programas: é muito rápido o processo de
escrever, testar e executar. Quando escrevemos um programa e vamos executa-lo,
normalmente temos que esperar um tempo em que a máquina virtual do ambiente de
desenvolvimento converta seu código para linguagem de máquina (chamado de tempo
de compilação). Á medida que a linguagem de programação se torna mais
complexa, esse tempo aumenta. No VBA, esse tempo é quase zero. Para fazer
scripts e testes rápidos, ele é imbatível! Além disso, ele já está integrado na
aplicação que você quer automatizar, e então não é preciso importar nem desenvolver
códigos extras que apontem para o aplicativo desejado.
Automatizar uma tarefa
usando VBA oferece várias vantagens, como:
ü O
Excel sempre executa tarefas exatamente do mesmo jeito (na maioria dos casos,
consistência é uma coisa boa).
ü O
Excel executa a tarefa muito mais depressa do que você pode fazer manualmente
(a menos, é claro, que seja o Super-Homem).
ü Se
você for um bom programador de macros, o Excel executará tarefas sem
erros.
ü Se
você configurar as coisas corretamente, qualquer um sem conhecimento do Excel
pode executar a tarefas.
ü É
possível fazer coisas em Excel que poderiam parecer impossíveis – o que pode
torna-lo uma pessoa muito popular no trabalho.
ü Para
tarefas longas e demoradas, você não precisa ficar sentado diante do computador
e se aborrecer. O Excel faz o trabalho enquanto você dedica seu tempo para
outras coisas (de preferência produtivas).
As desvantagens do VBA
A Microsoft até já até quis
cantar a pedra que iria remover o VBA do Office em versões futuras, mas a
reação contra da comunidade foi tão forte que ela garantiu que irá manter o VBA
no Office por tanto tempo que seja necessário. Pode ficar tranquilo porque ele
não será descontinuado.
Mas, infelizmente, o VBA não
recebe atualizações significativas desde 1999 e não vejo planos da Microsoft
querer inova-lo, o que é uma incrível burrice da empresa, e quem tomou essa
decisão lá dentro deve ser um louco. Então, usando o VBA, você estará
trabalhando com uma ferramenta que é praticamente a mesma há 15 anos porque foi
abandonada pelo fabricante.
O VBA não vive sem um
aplicativo Office. Você pode até fazer macros que interajam com outros
programas que não sejam da Microsoft, mas você sempre irá precisar de um
aplicativo do Office para executa-lo. Uma das consequências disso é que o VBA
não gera programas executáveis (.exe).
Um documento Office
incorpora em si as macros que utiliza. Então, se você criar uma planilha
automatizada e distribuir sua pasta de trabalho para outras pessoas e no dia
seguinte perceber que há uma falha no código, terá que entrar em contato com
cada uma dessas pessoas e reenviar o novo arquivo com o código correto. Se um
dos remetentes já tiver trabalhado no documento anterior, terá que refazer o
serviço no documento correto. Claro, esse é um típico problema fácil de
contornar, mas os rementes envolvidos devem ter pelo menos um conhecimento
básico no gerenciamento de projetos VBA de um documento, o que normalmente não
acontece.
Relaciono abaixo as
principais desvantagens do VBA:
ü Você
tem que saber como escrever programas em VBA (mas foi para isso que você
acessou este site, certo?). Felizmente, não é tão complicado como você poderia
prever.
ü Outras
pessoas que precisem usar os seus programas VBA devem ter suas próprias cópias
do Excel. Seria muito bom se você pressionasse um botão e o aplicativo
Excel/VBA se convertesse em um programa autônomo, mas isso não é possível (e
provavelmente nunca será).
ü Às
vezes, as coisas saem erradas. Em outras palavras, não é possível supor,
cegamente, que o seu programa VBA sempre funcionará corretamente em todas as
circunstâncias. Bem vindo ao mundo de depuração e, se outros estiverem usando
suas macros, ao suporte técnico.
ü VBA
é como um alvo em movimento. Como você sabe, a Microsoft continuamente atualiza
o Excel. Mesmo a Microsoft se esforçando para que haja uma compatibilidade
entre as versões, você pode descobrir que o código VBA que escreveu não
funciona adequadamente com versões mais antigas ou com uma versão futura de
Excel.
Sobre
este último item, versões do Office 64 bits não são totalmente compatíveis com
o Office 32 bits. Essas incompatibilidades são evidentes quando usamos Chamadas API no programa VBA (já havia
prometido fazer um artigo abordando este tema, está anotado em minha lista ;).
Bem
vou finalizar por aqui esta parte, pois ela já esta mais extensa do que
imaginei. Na próxima parte colocarei minhas considerações finais sobre esta
linguagem de programação.
Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.




