Adianto que este artigo ficou um pouco longo, porém, tentarei explicar de forma bastante simples o conceito da linguagem VBA e macros. Após entender este texto, você será capaz de manipular uma planilha de Excel.
Já comentamos sobre as noções preliminares sobre macros. 99,9% das pessoas se iniciam no tema por meio do gravador de macros, então vamos usá-lo como ponto de partida.
Nas versões anteriores à 2007 o caminho para iniciar a gravação de uma macro é Ferramentas >> Macros >> Gravar Nova Macro. As novas versões o gravador está acessível no canto inferior esquerdo da janela do Excel.
Para iniciar a gravação basta clicar neste botão.
Vamos começar com uma macro bem simples, seguindo os passos:
Clique na célula A1;
Acione o gravador;
Nomeie a macro como “Primeira_Macro” e clique em OK.
Modifique a cor do preenchimento da célula para preto;
Modifique a cor da fonte para branco;
Clique novamente no botão de macro para interromper a gravação.
Pressionando ALT+F11, clique no Módulo1 e você poderá visualizar a macro criada, que deve se parecer com esta aqui:
Sub Primeira_Macro()
'
' Primeira_Macro Macro
'
'
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End Sub
Comentários:
As linhas que se iniciam com um apóstrofo são linhas de comentários. Os desenvolvedores as utilizam para inserir explicações sobre o funcionamento do código, ou outras informações que julguem pertinentes (nome do desenvolvedor, data de criação, referências utilizadas, etc).
O gravador armazena informações sobre as alterações realizadas durante a gravação, mas também acrescenta informações desnecessárias. À medida que aumentar seus conhecimentos em VBA, a tendência é que minimize o uso do gravador e quando o fizer, saberá identificar quais informações deverão ser mantidas no código. No exemplo criado acima, o que queremos é modificar a cor do preenchimento e da fonte, desta forma, o código pode ser resumido para:
Sub Primeira_Macro()
'Modificar a cor de fundo da seleção para preto
Selection.Interior.Color = xlThemeColorLight1
'Modificar a cor da fonte para branco
Selection.Font.ThemeColor = xlThemeColorDark1
End Sub
Esta macro, assim como outras criadas, pode ser acessada pressionando o atalho de teclado ALT+F8. Basta selecionar uma célula ou intervalo de células, pressionar ALT+F8 e selecionar a Primeira_Macro que a seleção será devidamente formada.
Linguagem orientada por objetos
O VBA faz parte de uma categoria de linguagens de programação denominadas de “orientada por objetos”. Todos os elementos de um arquivo de Excel, o próprio Excel e demais arquivos do Office são objetos. Os objetos possuem propriedades que podem ser modificadas e métodos que podem ser acionados.
Vamos fazer uma analogia:
Se um carro fosse encarado como um objeto, a cor de sua pintura, o material dos seus bancos e a pressão dos seus pneus seriam propriedades. Se fôssemos tratá-lo como um objeto programável, poderíamos alterar suas propriedades através de comandos como:
Carro.CorDaPintura = Prata
Carro.MaterialDosBancos = Couro
Carro.PressaoDosPneus = 35
Da mesma forma, ligar o carro á análogo a um método, o que poderia ser “programado” como:
Carro.Ligar
Quando programamos códigos no Excel, alteramos propriedades de seus objetos e ativamos métodos.
Tomando a linha de comando criada acima:
Selection.Interior.Color = xlThemeColorLight1
O que fizemos foi modificar a propriedade cor, do interior no objeto Selection.
O Excel como Objeto
O que é necessário para criamos uma Planilha de Excel? Acredito que seja necessário, na ordem:
Abrir o Excel;
O Excel automaticamente cria uma Pasta de Trabalho em branco;
Uma Pasta de Trabalho contém, por padrão, três Planilhas;
Escolher uma Planilha e povoar as células;
Salvar e sair do Excel, se desejar.
Os passos são simples, mas são sequenciais. Obviamente, não é possível ter Células sem ter Planilha, e nem ter Planilha sem ter Pasta de Trabalho. Para entendermos melhor como se cria um código numa Planilha, vamos entender como funciona o modelo do Objeto Excel.
O VBA define nomes para cada um dos níveis de objetos utilizados pelo Excel, para entendermos melhor a terminologia, observe a imagem abaixo:
Atenção: Uma Folha pode ser uma Planilha ou um Gráfico, por exemplo. Existem também outros tipos de folhas.
É importante ressaltar que o nome de cada objeto está em inglês. No VBA, você terá que referenciar os objetos utilizando também seu nome em inglês.
Uma Aplicação Excel (Application) pode ter zero ou mais Pastas de Trabalho, que por sua vez, podem ter uma ou mais Folhas, que por sua vez, possuem as células (Range):
Note que um range pode ser uma combinação de outros ranges.
Em termos técnicos,
-Uma Aplicação é uma coleção de Pastas de Trabalho (Workbooks).
-Um Workbook é uma coleção de Folhas (Sheets).
-Numa coleção de folhas, podemos ter alguns tipos de objeto, como Planilhas (Worksheet) e Gráficos (Chart). Cada um desses objetos tem suas propriedades comuns entre si e específicas.
A ideia geral para povoarmos o último nível de uma Planilha, por exemplo, é criar em código primeiramente um Application, depois um Workbook, depois um Worksheet e depois povoar os Ranges.
Finalizando
Além destas ações, o VBA possui recursos que permitem tomadas de decisão, controlando o fluxo de execução dos códigos. O mais comumente usado são as estruturas de controle (Se uma condição for verdadeira, execute uma ação, se for falsa execute outra) e os loops (repetir uma ação até que seja satisfeita uma dada condição).
A partir destas considerações iniciais iremos, em breve, começar a desenvolver pequenos projetos utilizando o VBA.
Até a próxima.
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.