VBA – Início

Esta página é dedicada para quem quer aprender ou aprofundar-se em VBA (Visual Basic for Applications). Embora o material seja voltado principalmente para o Excel, atende outros aplicativos do Office também.

Os tópicos estão listados numa sequência lógica de aprendizado:

Para utilizar o VBA num aplicativo Office você não precisa fazer nada de especial, já que normalmente suas bibliotecas são incluídas e habilitadas na instalação padrão do Microsoft Office.

O Office para Windows Surface RT, Office Online, Office Starter 2010 e Office para qualquer smartphone não suportam VBA.

Por que Usar VBA?

Os recursos do Microsoft Office são subexplorados, e uma de suas funcionalidades mais poderosas e interessantes é a capacidade de automatização de tarefas atrávés da programação VBA. Com o VBA, é possível fazer coisas que não seriam possíveis usando somente os recursos nativos dos aplicativos, ou seriam necessários muitos passos para alcançar o mesmo resultado. Exemplos:

  • No Excel: renomear dezenas de planilhas sequencialmente de uma pasta de trabalho de acordo com o valor de uma célula;
  • No Word: colorir de azul a primeira palavra de todos os parágrafos de um texto.
  • No Outlook: Salvar com um clique os remetentes de um e-mail que tem vários destinatários em sua pasta de contatos.
  • No PowerPoint: Criar uma apresentação que exibe um formulário e que o próximo slide utilize as informações preenchidas do formulário para construir o próximo slide.

O VBA pode integrar um aplicativo Office com outro. Por exemplo: você pode criar um programa em Excel que exporta algumas tabelas numa apresentação de PowerPoint e envia essa Apresentação por e-mail via Outlook. Na verdade, você pode criar sistemas inteiros usando o VBA!

Além disso, a sintaxe da linguagem VBA para o Excel é a mesma para os outros aplicativos Office. Então, se você aprender bem VBA para Excel, já é meio caminho para aprender o VBA no Word, porque dessa forma seu estudo se concentrará em aprender como o VBA interage com os objetos do Word.

O VBA pode estar presente em todos os lugares, desde no Word instalado num escritório de advocacia, no PowerPoint do estudante colegial até no Excel das empresas da engenharia. Se você dominar o VBA, pode operar qualquer computador com o Microsoft Office e começar a desenvolver, sem precisar instalar nenhum recurso adicional.

Embora o Office evolua e sofra modificações a cada novo lançamento, o VBA possui uma boa compatibilidade entre as versões. Existem códigos VBA que foram criados no Excel 97 que rodam sem problemas no Excel 2019.

E o principal: o VBA é fácil e divertido de aprender!

Se você usa Office para Mac, BrOffice, LibreOffice ou qualquer outro tipo de pacote de produtividade, terá uma péssima experiência no VBA. Se quiser aproveitar ao máximo o que o VBA pode oferecer, utilize o Microsoft Office para Windows.

Quem Usa ou Deve Usar o VBA?

O perfil dos desenvolvedores de VBA é normalmente diferente do perfil de um típico programador. Um profissional do ramo de TI não desenvolve seus programas em VBA: ele utiliza um computador com configurações de hardware acima da média e softwares específicos para desenvolvimento e sua profissão é desenvolver programas. Por outro lado, existem milhões de programadores de VBA que são contadores, engenheiros, advogados, médicos, orçamentistas e muitos outros profissionais dos mais variados segmentos.

Por esse motivo, o VBA tem que ser uma ferramenta de desenvolvimento simples para resolver problemas práticos desses profissionais que não são desenvolvedores dedicados, e sua curva de aprendizado não pode ser complicada. É uma ferramenta de apoio para sua profissão que irá aumentar sua produtividade e te poupar de fazer tarefas manuais, tediosas e susceptíveis a erro humano.

Se você utiliza algum software do Microsoft Office diariamente e quer extrair o máximo em produtividade, deve aprender VBA. Isso tornará seu trabalho mais eficiente e, o melhor, mais interessante. Ao desenvolver em VBA sua forma de pensar em como organizar seus documentos irá evoluir.

As políticas de segurança da informação das empresas estão controlando cada vez mais o que seus funcionários podem acessar. Se a empresa em que trabalha proíbe acesso à internet, pen drives e instalar outros programas, pode ser que sua única opção para automatizar suas tarefas seja através do VBA no pacote Office pré-instalado pela empresa.

É essencial que o seu inglês esteja bom para aprender VBA: todos comandos são em inglês, assim como muitos recursos de ajuda disponíveis em livros e na Internet.

Vantagens e Desvantagens do VBA

O VBA está ultrapassado. Linguagem do século XX… Que piada!

O VBA é um lixo, linguagem estruturada, gambiarrado e nem orientado a objetos ele é!

É verdade que você não vai conseguir criar um sistema de banco ou apps para celular usando o VBA. Assim como qualquer linguagem de programação, o VBA tem suas vantagens e desvantagens. Não estamos aqui para defender o VBA, mas se você acreditar em nós ao afirmarmos que vale a pena dedicar tempo e energia no VBA, garantimos que não irá se decepcionar.

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.

Vantagens

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. E mais: 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, uma linguagem de programação bastante utilizada 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 executá-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 em 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, já está integrado na aplicação que você quer automatizar, e então não é preciso importar bibliotecas nem desenvolver códigos extras que apontem para o aplicativo desejado.

Desvantagens

Embora a Microsoft tenha garantido que não irá remover o VBA do Office em versões futuras, também não irá trazer inovações à ferramenta. Infelizmente, ele não recebe atualizações significativas desde 1999. Então, usando o VBA, você estará trabalhando com uma ferramenta que é praticamente a mesma há 15 anos. A causa desse abandono é que o orçamento para a extensibilidade de programação, no cenário atual, se encontra em aperfeiçoar a próxima geração de automatização para Microsoft Office, baseado em JavaScript e HTML, chamada de Office Addins.

Não é possível usar o VBA fora de 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 hospedeiro para executá-lo. Uma das consequências disso é que o VBA não gera arquivos executáveis exe. Se seu objetivo fim é gerar pacotes executáveis independente de uma plataforma, o VBA não é para você.

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 reenviar o novo arquivo com o código correto para cada uma dessas pessoas. Se um dos destinatários já tiver trabalhado no primeiro documento enviado, terá que refazer o serviço no documento correto ou importar somente o código corrigido, que exige um bom nível de VBA para fazê-lo.

Na maior parte das vezes, você irá querer que o VBA trabalhe orientado a eventos ou que atue como um interpretador de scripts. No entanto, o VBA não é uma linguagem plenamente orientada a objetos. A consequência disso é que ele não suporta algumas propriedades desse sistema, como por exemplo, a ausência (ou deficiência) de herança, polimorfismo e pacotes (namespaces).

Outros Recursos de Aprendizagem

Você pode aprender mais sobre VBA seguindo o meu canal de YouTube e também assinando as novidades deste site.

Varie as formas de estudar: deverá, obrigatoriamente, ler um livro. Vídeos e blogs são usados para estudar uma funcionalidade específica ou relembrar alguns conceitos. A participação dos fóruns é essencial. Primeiro, tente responder as perguntas. Depois, compare sua resposta com a resposta de alguém mais experiente e seu aprendizado irá decolar.

Livros

Nunca li livros específicos de VBA em português. Todas as recomendações listadas estão em inglês:

Sites

Por |2018-07-18T08:21:52+00:00julho 7th, 2018|VBA|0 Comentários

Sobre o Autor:

Felipe Costa Gualberto é Microsoft Most Valuable Professional (MVP) desde 2013 e é Diretor Técnico da MLF Soluções Tecnológicas e Educação Corporativa. Áreas de interesse: Power BI, Excel, VBA, Office Addins, Sql Server, .NET

Deixe um comentário