Introdução ao Excel VBA
O Excel VBA é uma linguagem de programação utilizada no famoso software da Microsoft Office voltado para planilhas e cálculos.
Esta sigla inglesa significa Visual Basic for Applications e é muito simples de ser implementada. Somente é preciso ter um pouco de empenho e dedicação para aprendê-la.
Para que as máquinas executem determinada ação elas precisam ser programadas e, para isso, existem as linguagens próprias para isso.
VBA é a linguagem utilizada no Microsoft Excel e que permite que recursos adicionais desse programa sejam explorados.
É através da linguagem VBA que o usuário consegue ter mais opções para fazer o controle e a edição de uma planilha.
Que tal conhecermos um pouco mais sobre o Visual Basic for Application?
Saber o que é, como funciona e ver alguns exemplos certamente são uma ótima forma de conhecer um pouco mais sobre Excel VBA.
Tabela de Conteúdo
- O que é Excel VBA?
- Como acessar o ambiente Excel VBA?
- Como o Excel VBA funciona?
- Como as Macros podem ser criadas no Excel ?
- Exemplo prático de VBA
O que é Excel VBA?
Quando falamos em Microsoft Office imediatamente vem à mente 3 programas de edição que todos já utilizamos ao menos uma vez na vida: Word, PowerPoint e Excel.
A linguagem VBA ou Visual Basic for Applications é uma linguagem de programação que pode ser implementada no Excel.
Ao fazer uso dessa linguagem é possível resolver problemas de forma muito mais fácil além de conseguir explorar os recursos adicionais que se encontram nesse programa.
Ou seja, com essa linguagem é possível dizer ao Excel que determinada macro deve ser gravada, pois facilita a utilização desse software.
Entretanto, apesar dessa gravação ser muito eficiente ela apresenta algumas limitações.
Afinal, uma macro é um tipo de programa que é escrito no Excel VBA e, para isso, é necessário se dirigir ao código e alterá-lo para que se torne mais eficiente ou que um problema seja corrigido.
Conhecendo o VBA
Na programação existem várias linguagens e cada uma delas necessita de um ambiente para que sejam feitas as modificações, testes e observações.
Quando se trata do Excel VBA, o ambiente de programação utilizado é o Visual Basic Editor ou VBE como também é conhecido.
Essa interface é amigável e simples para que o usuário consiga fazer seus comandos e testá-los sem grandes dificuldades.
As funções e macros também podem ser escritas nesse ambiente sem que o gravador de macros seja utilizado.
É preciso entender que todos os procedimentos VBA que forem desenvolvidos no VBE vão fazer parte da pasta que ocorreu seu desenvolvimento.
Assim, quando ela for salva, os módulos, userforms e macros do projeto são todos salvos no mesmo momento.
Como acessar o ambiente Excel VBA?
Saber como acessar o ambiente Excel VBA é tão importante quanto entender como essa linguagem pode ser desenvolvida. Para que o VBA e o VBE sejam usados é necessário fazer sua habilitação na guia desenvolvedor.
Para fazer isso é preciso clicar em Arquivo > Opções > Personalizar Faixa de Opções e entre as opções que surgir é preciso fazer a seleção do desenvolvedor.
Após seguir esses passos, para que a Guia Desenvolvedor seja acessada somente é preciso buscar por essa opção no menu da planilha do Excel, clicar em Código e Visual Basic.
Ao fazer isso, uma nova janela será aberta. Ela possui três grandes áreas que são: Projeto – VBAProject; Janelas de Edição de Texto e Propriedades. Vamos conhecer um pouco mais cada uma dessas áreas?
Projetos – VBA Project
Na parte superior esquerda da tela encontra-se essa janela. Nela, há elementos de programação que o Excel apresenta.
Em Módulos há grupos de códigos com as macros que foram gravadas e também as que foram escritas de forma manual.
Propriedades
Abaixo de Projetos encontra-se a janela Propriedades que tem o agrupamento das propriedades daquele elemento selecionado.
Essa janela se mostra muito importante, pois serve como dica para conseguir trabalhar as características dentro dos códigos que estão sendo criados.
Janela de Edição
O espaço em cinza é o local onde surge a janela de edição. Partindo da tela dos projetos, a pasta Módulos tem as macros que foram gravadas e que estão salvas.
Ao dar um clique duplo nele uma terceira janela será aberta e o código gerado através da gravação do Macro que anteriormente foi criado será revelado.
Caso o arquivo Excel aberto ainda não contenha nenhuma gravação Macro, essa janela será uma tela em branco. Através da janela de edição é possível não apenas criar códigos no Visual Basic, mas também editá-los.
Isso é ótimo, pois permite que a estruturação, a leitura e a sua organização sejam mais facilitadas.
Como o Excel VBA funciona?
De forma bem resumida, uma linguagem de programação é a forma encontrada para que digamos ao programa que está sendo criado o que queremos que ele faça.
O código de Macro tem esse mesmo funcionamento, pois permite que através dele aquilo que desejamos que o computador faça será dito e consequentemente executado por ele.
Por exemplo, imaginemos que você é dono de uma empresa e que contrata um engenheiro japonês.
Ele terá como objetivo te auxiliar em um projeto de melhorias, mas necessita de treinamento. Graças a isso ele terá condições de realizar todas as tarefas que são necessárias para que o projeto ande.
Mas como você fará esse treinamento se sua língua é o português e a do engenheiro é japonês?
Afinal, vocês precisam conversar a mesma língua para que tudo que for repassado seja compreendido perfeitamente bem. Assim, primeiramente, você terá que verificar qual língua ele tem aptidão.
Após essa verificação percebeu-se que ele é fluente em inglês e, portanto, esta será a língua padrão para fazer o treinamento.
Essa necessidade de ter uma linguagem em comum também acontece com os computadores, pois eles não conseguem entender a nossa língua.
É por isso que existem as linguagens de programação, pois elas possibilitam que essas máquinas compreendam aquilo que desejamos.
As Macros são classificadas como pequenos programas porque permitem que o computador as entenda.
O Visual Basic é bem próximo do inglês e por esse motivo, quem conhece esse idioma consegue aprender os comandos dos códigos mais facilmente.
Princípios básicos de VBA
Toda linguagem de programação possui alguns pontos que precisam ser conhecidos pelo utilizador para poder criar os comandos certos. Com o VBA não é diferente e seus princípios básicos são:
- Variável – trata-se de um local de memória. Assim, sempre que for criar um comando no Visual Basic for Applications é necessário declarar uma ou mais variáveis.
As variáveis não podem ser criadas de qualquer forma, elas devem seguir algumas regras e sem as quais elas não funcionarão.
Assim as regras para criação de variáveis no Excel VBA são:
- Não usar palavras que são reservadas – Elas possuem um significado especial dentro do Visual Basic for Applications e por esse motivo não é permitida sua utilização como nomes para as variáveis.
- Variáveis não podem ter seus nomes com espaços – Por exemplo, “Cadastro de clientes” não é aceito em VBA, mas se colocar “Cadastro_de_clientes” não terá qualquer tipo de problema já que não há mais espaços vazios.
- Os nomes descritivos podem e devem ser usados – Por exemplo, subtotal, preço, peso e quantidade podem ser utilizados, pois facilitam a leitura do código em VBA.
Operadores aritméticos
Quando estudamos matemática aprendemos a fazer adição, subtração, multiplicação e divisão.
Todas essas regras se aplicam ao VBA e elas podem ser aplicadas quando for trabalhar com as expressões que necessitam de vários operadores aritméticos.
Assim, no Excel VBA os seguintes símbolos podem ser utilizados:
- (+): utilizado para a adição;
- (-): utilizado para a subtração;
- (*): utilizado para a multiplicação;
- (/): utilizado para a divisão.
Operadores lógicos
Quando se fala em programação é impossível não mencionar os operadores lógicos.
Resumidamente, existe o booleano que somente pode assumir um valor: verdadeiro ou falso. Para chegar a um resultado é necessário fazer uma análise sobre os valores, basicamente, trata-se de uma comparação.
Por sua vez, essa comparação vai retornar valores booleanos que precisam ser analisados e, para isso, é necessário utilizar um operador lógico que podem ser:
- SE – analisa as entradas e se a primeira delas for verdadeira e a segunda falsa seu retorno será falso. Para os demais casos o retorno é verdadeiro.
- NÃO – basicamente, ele nega a entrada, ou seja, se a entrada for verdadeira ele retorna falso, se ela for falsa seu retorno é verdadeiro.
- OU – retorna o valor verdadeiro quando pelo menos uma das entradas for verdadeira. Caso todas as entradas sejam falsas seu retorno será falso.
- E – para que esse operador retorne a um valor verdadeiro é preciso que os valores de entrada sejam verdadeiros. Caso um deles seja falso ele irá retornar falso.
- OU EXCLUSIVO – se uma das entradas for verdadeira seu retorno será verdadeiro. Entretanto, se todas as entradas forem verdadeiras ou se todas forem falsas seu retorno será falso.
- FALSO – analisa a condição e os parâmetros dados. Caso o valor analisado não obedeça a essas regras o retorno é falso.
- VERDADE – analisa as condições e parâmetros que o utilizador passa. Caso as regras sejam obedecidas seu retorno é verdadeiro.
Como as Macros podem ser criadas no Excel ?
Quando uma Macro é gravada no Excel ela é codificada para o VBA. Cada Macro que é criado não depende de outras que foram implementadas, afinal, seu objetivo é executar certas instruções do utilizador.
Assim, cada Macro que é criada origina uma rotina ou procedimento que se divide em funções e subrotinas.
Subrotinas
A definição das subrotinas é delimitada por duas palavras-chave: Sub e End Sub.
Se observar as Macros que foram gravadas no Excel VBA é possível perceber que todas elas são desse tipo. Um exemplo de sua estrutura encontra-se a seguir:
Sub <nomedaMacro> ()
<corpodaMacro>
End Sub
O que designa essas subrotinas é o nome que o utilizador dá a elas. Uma característica que elas possuem é que não recebem parâmetros vindos do exterior, entretanto, isso é observado nas funções.
A função das subrotinas é desempenhar várias tarefas que estão presentes em seu corpo.
Assim, o corpo de uma Macro contém instruções e cada instrução diferente precisa estar contida em uma linha diferente.
Funções
As funções nada mais são que rotinas e sempre são iniciadas com a palavra Function e terminadas com as palavras-chave End Function.
Todas as funções que são utilizadas no Excel VBA possuem essa rotina como é possível observar no seguinte exemplo:
Function <nomedafunção> (1variavel, 2variavel, nvariavel)
<nomedafunção> = <operacao com as variaveis>
End Function
Nessa rotina é preciso fazer com que os parâmetros sejam transportados, pois somente assim a função poderá ser executada da forma correta.
Exemplo prático de VBA
Para que os processos presentes nos arquivos Excel VBA sejam automatizados não há limites. A seguir, você consegue acompanhar a criação de um botão que automatiza o preenchimento das planilhas no software.
Primeiramente, é preciso abrir o Visual Basic e para isso é necessário clicar no menu Desenvolvedor que somente irá aparecer após habilitar essa função no Excel (passos foram ditos acima).
Feito isso, é preciso ir no menu Inserir e clicar em Módulo para que uma nova janela seja aberta.
Nessa janela reproduza o seguinte código:
Sub criaForm()
ActiveSheet.ShowDataForm
End Sub
Ao retornar para a planilha que estava trabalhando no Excel clique no menu Desenvolvedor e em seguida Inserir e Botão (Controle de Formulário). Após selecionar ele basta clicar e arrastar para qualquer área da planilha.
Uma janela será aberta automaticamente para que uma macro seja atribuída e nela é preciso determinar que o botão vai executar o código que foi inserido no VBA. Agora é preciso escolher a opção criaForm e clicar em OK.
Após fazer isso será criado um botão que vai permitir que o preenchimento da planilha ocorra de forma automatizada.
Assim, sempre que clicar nele somente é preciso escolher a opção Novo para que as células sejam preenchidas de acordo com o padrão das anteriores.
No Excel VBA, se quiser, depois pode mudar o nome, fazer o redimensionamento e até mover o botão para outro lugar. Tudo fica a seu critério.