VBA no Excel – Recursos básicos

Trabalhar com o Excel em sua forma padrão (com fórmulas e estruturas nas células das planilhas) nos permite realizar grande parte das tarefas que precisamos no dia a dia. Entretanto, algumas aplicações exigem que tenhamos algum trabalho automatizado via programação. O Excel possui integrado ao seu ambiente o VBA – Visual Basic for Applications – como uma ferramenta de desenvolvimento de software integrada a plataforma Windows. Ou seja, utilizaremos o VBA toda vez que desejarmos automatizar alguma rotina no Excel.

Para utilizar o VBA, mesmo que sejam apenas seus recursos básicos, é necessário conhecer lógica de programação. Partindo que você já possui esta habilidade (se não possui, existem inúmeros e bom materiais disponíveis na internet), vamos ao nosso primeiro código em VBA.

Vamos desenvolver uma aplicação para copiar todos os elementos das três primeiras colunas, da planilha 1 (Plan1) para a planilha 2 (Plan2). Para isto, pressione Alt + F11 como tecla de atalho para abrir a janela de desenvolvedor.

VBA no Excel - inicio

Em seguida, clique com o botão direito em Plan1 na janela “Projeto – VBAProject” e depois em “Exibir código”. Este será o seu ambiente de desenvolvimento.

Sub exemplo1()

Dim ultimaLinha As Long

ultimaLinha = ActiveSheet.UsedRange.Rows.Count

Range(Cells(1, 1), Cells(ultimaLinha, 3)).Copy Destination:=Plan2.Range(“A1”)

End Sub

Antes de executarmos, vamos entender o que este código significa.

  • A primeira linha começa com Sub exemplo1(). Sub é a declaração de sua função e exemplo1 é o nome que você deu a ela.
  • Dim ultimaLinha As Long é a declação de sua variável “ultimaLinha” como um tipo long.
  • Em seguida, atribuímos a esta variável o número da última linha(Rows.Count) que está preenchida (UseRange) na planilha ativa (ActiveSheet), o que forma o código ultimaLinha = ActiveSheet.UsedRange.Rows.Count.
  • Por fim, copiamos (Copy) tudo desde a primeira célula (Cells(1,1)) até a última linha preenchida da coluna 3 (Cells(Cells(ultimaLinha, 3)). Nosso destino é a Plan2, começando na célula A1 Destination:=Plan2.Range(“A1”).

 

Entendi o código, vamos executá-lo. Basta clicar no botão “Play” e conferir o resultado de sua aplicação.

Como um outro exemplo, vamos inserir a mensagem “Bem vindo ao VBA” na primeira célula da planilha e também exibir este texto em uma caixa de mensagem. Para isto, temos o seguinte código:

Sub exemplo2()

Cells(1, 1) = “Bem vindo ao VBA”

‘Isto é um comentário

MsgBox Cells(1, 1)

End Sub

Note que temos uma nova declaração de código. O comando MsgBox ativa uma caixa de mensagens com o conteúdo que está na linha 1 e coluna 1 (Célula A1). Após executar ao código, temos:

Com estes dois exemplos já podemos perceber o quanto será útil aprendermos mais sobre programação em VBA no Excel. Vamos abordar mais exemplos e mais aplicações nos próximos artigos. Fique ligado! Até lá.