O melhor guia VBA (para iniciantes) que você precisará

A plataforma de programação VBA(VBA programming) que funciona em quase todos os produtos Microsoft Office é uma das ferramentas mais poderosas que qualquer pessoa pode usar para aprimorar o uso desses produtos.

Este guia VBA para iniciantes mostrará como adicionar o menu Desenvolvedor ao seu aplicativo (Developer)do Office(Office) , como entrar na janela do editor VBA e como as instruções e loops básicos do (VBA)VBA funcionam para que você possa começar a usar o VBA no Excel , Word , Powerpoint , Outlook e OneNote .

Este guia VBA usa a versão mais recente dos produtos Microsoft Office . Se você tiver uma versão anterior, poderá ver algumas pequenas diferenças nas capturas de tela.

Como habilitar e usar o editor VBA(How To Enable & Use The VBA Editor)

Em qualquer um dos produtos do Office usados ​​neste guia, você pode perceber que não tem o menu do desenvolvedor referenciado. (Developer)O menu do desenvolvedor está disponível apenas no Excel , Word , Outlook e Powerpoint . O OneNote(OneNote) não oferece uma ferramenta para editar código VBA de dentro do aplicativo, mas você ainda pode fazer referência à API do OneNote(OneNote API) para interagir com o OneNote de outros programas do Office

Você aprenderá como fazer isso em nosso próximo guia VBA avançado(Advanced VBA) .

  • Para habilitar o menu Desenvolvedor em qualquer produto de escritório, selecione o menu (Developer)Arquivo(File) e selecione Opções(Options) no menu de navegação esquerdo. 
  • Você verá um menu pop-up de opções . (Options)Selecione Personalizar Faixa(Customize Ribbon) de Opções no menu de navegação à esquerda.

A lista à esquerda inclui todos os menus e comandos de menu disponíveis nesse aplicativo do Office(Office) . A lista à direita são aqueles que estão atualmente disponíveis ou ativados.

  • Você deverá ver Desenvolvedor(Developer) na lista à direita, mas ele não será ativado. Basta(Just) selecionar a caixa de seleção para ativar o menu Desenvolvedor .(Developer)

  • Se você não vir Desenvolvedor(Developer) disponível à direita, altere o menu suspenso Escolher comandos à esquerda para (Choose commands)Todos os comandos(All Commands) . Encontre Desenvolvedor(Developer) na lista e selecione Add>> no centro para adicionar esse menu à Faixa(Ribbon) de Opções .
  • Selecione OK quando terminar.
  • Quando o menu Desenvolvedor(Developer) estiver ativo, você poderá voltar à janela principal do aplicativo e selecionar Desenvolvedor(Developer) no menu superior. 
  • Em seguida, selecione Exibir código(View Code) no grupo controles(Controls) na faixa de opções para abrir a janela do editor VBA .

  • Isso abrirá a janela do editor VBA , onde você poderá digitar o código que aprenderá nas próximas seções.

  • Tente adicionar o menu Desenvolvedor(Developer) a alguns dos aplicativos do Office que você usa todos os dias. Quando estiver confortável para abrir a janela do editor VBA , continue para a próxima seção deste guia.

Dicas gerais de programação VBA para iniciantes(General VBA Programming Tips for Beginners)

Você notará quando o editor VBA for(VBA) aberto, as opções de navegação no painel esquerdo parecerão diferentes de um aplicativo do Office para outro.

Isso ocorre porque os objetos disponíveis onde você pode colocar o código VBA dependem de quais objetos existem no aplicativo. Por exemplo, no Excel , você pode adicionar código VBA a objetos de pasta de trabalho ou planilha. No Word , você pode adicionar código VBA aos documentos. (VBA)No Powerpoint , apenas para módulos.

Portanto, não se surpreenda com os diferentes menus. A estrutura e a sintaxe do código VBA são as mesmas em todos os aplicativos. (VBA)A única diferença são os objetos que você pode referenciar e as ações que você pode realizar nesses objetos por meio do código VBA .

Antes de nos aprofundarmos nos diferentes objetos e ações que você pode executar neles por meio do código VBA , vamos primeiro examinar a estrutura e a sintaxe (VBA)VBA mais comuns que você pode usar ao escrever o código VBA .

Onde colocar o código VBA(Where To Put VBA Code)

Quando estiver no editor VBA , você precisa usar as duas caixas suspensas na parte superior da janela de edição para escolher a qual objeto deseja anexar o código e quando deseja que o código seja executado.

Por exemplo, no Excel , se você escolher Planilha(Worksheet) e Ativar(Activate) , o código será executado sempre que a planilha for aberta. 

Outras ações de planilha que você pode usar para acionar seu código VBA incluem quando a planilha é alterada, quando é fechada (desativada), quando o cálculo da planilha é executado e muito mais.

Ao adicionar código VBA no editor, sempre certifique-se de colocar seu código VBA no objeto e usar a ação correta que deseja usar para acionar esse código.

Declarações IF VBA(VBA IF Statements)

Uma instrução IF funciona no VBA da mesma forma que funciona em qualquer outra linguagem de programação.

A primeira parte da instrução IF verifica se uma condição ou conjunto de condições é verdadeiro. Essas condições podem ser unidas por um operador AND ou OR para vinculá-las.

Um exemplo seria verificar se uma nota em uma planilha está acima ou abaixo de uma nota de “aprovação” e atribuir o status de aprovação ou reprovação a outra célula.

If Cells(2, 2) > 75 Then Cells(2, 3) = “Pass” Else Cells(2, 3) = “Fail”

Se você não quiser a instrução inteira em uma única linha, você pode dividi-la em várias linhas adicionando um símbolo “_” no final das linhas.

If Cells(2, 2) > 75 Then _
Cells(2, 3) = “Pass”  Else _
Cells(2, 3) = “Fail”

Usar essa técnica geralmente pode tornar o código muito mais fácil de ler e depurar.

VBA para próximos loops(VBA For Next Loops)

As instruções IF são ótimas para comparações simples, como o exemplo acima de olhar para uma única célula. Mas e se você quiser percorrer um intervalo inteiro de células e fazer a mesma instrução IF em cada uma delas?

Nesse caso, você precisaria de um loop  FOR .

Para fazer isso, você precisa usar o comprimento de um intervalo e percorrer esse comprimento pelo número de linhas que contêm dados.

Para fazer isso, você precisa definir o intervalo e as variáveis ​​de célula e percorrê-las. Você também precisará definir um contador para poder enviar os resultados para a linha apropriada. Portanto, seu código VBA primeiro teria essa linha.

Dim rng As Range, cell As Range
Dim rowCounter as Integer

Defina o tamanho do intervalo da seguinte forma. 

Set rng = Range(“B2:B7”)
rowCounter = 2

Finalmente, você pode criar seu loop FOR para percorrer todas as células nesse intervalo e fazer a comparação.

For Each cell In rng
   If cell.Value > 75 Then _
   Cells(rowCounter, 3) = "Pass" Else _
   Cells(rowCounter, 3) = "Fail"

   rowCounter = rowCounter + 1

Next cell

Depois que esse script VBA(VBA script) for executado, você verá os resultados na planilha real.

VBA While Loops

Um loop while também percorre uma série de instruções, assim como o loop FOR , mas a condição do loop para continuar é uma condição que permanece verdadeira.

Por exemplo, você pode escrever o mesmo loop FOR acima, como um loop WHILE , simplesmente usando a variável rowCounter da seguinte maneira.

While rowCounter < rng.Count + 2
   If Cells(rowCounter, 2) > 75 Then _
   Cells(rowCounter, 3) = "Pass" Else _
   Cells(rowCounter, 3) = "Fail"
   rowCounter = rowCounter + 1
Wend

Observação: o limite de terminação rng.Count + 2 é necessário porque o contador de linhas começa em 2 e precisa terminar na linha 7, onde os dados terminam. No entanto, a contagem do intervalo (B2:B7) é apenas 6, e o loop While só terminará quando o contador for MAIOR(GREATER) que o contador – portanto, o último valor de rowCounter precisa ser 8 (ou rng.Count + 2).

Você também pode configurar o loop While da seguinte forma:

While rowCounter <= rng.Count + 1

Você só pode incrementar a contagem do intervalo (6) em 1, pois assim que a variável rowCounter atingir o final dos dados (linha 7), o loop pode terminar.

VBA Do While e Do Until Loops(VBA Do While and Do Until Loops)

Os loops Do While e Do Until são quase idênticos aos loops While, mas funcionam um pouco diferente.

  • O While Loop verifica se uma condição é verdadeira no início do loop.
  • O Do-While Loop verifica se uma condição é verdadeira após a execução das instruções no loop.
  • O Do-Until Loop verifica se uma condição ainda é falsa após a execução do loop.

Nesse caso, você reescreveria o loop While acima da seguinte forma, como um loop Do-While.

Do
   If Cells(rowCounter, 2) > 75 Then _
   Cells(rowCounter, 3) = "Pass" Else _
   Cells(rowCounter, 3) = "Fail"
   
   rowCounter = rowCounter + 1
Loop While rowCounter < rng.Count + 2

Nesse caso, a lógica não muda muito, mas se você quiser garantir que a comparação lógica ocorra depois que todas as instruções forem executadas (permitindo que todas sejam executadas, não importa o que pelo menos uma vez), então um Do-While ou Do-Until é a opção certa.

Declarações de caso de seleção do VBA(VBA Select Case Statements)

O tipo final de instrução lógica que você precisa entender para começar a estruturar seu código VBA são instruções (VBA)Select Case .

Dado o exemplo acima, digamos que você queira ter um método de avaliação que não seja apenas pass-fail. Em vez disso, você deseja atribuir uma nota de letra de A a F.

Você pode fazer isso com a seguinte instrução Select Case :

For Each cell In rng
   
   Select Case cell

   Case 95 To 100
      Cells(rowCounter, 3) = "A"
   Case 85 To 94
      Cells(rowCounter, 3) = "B"
   Case 75 To 84
      Cells(rowCounter, 3) = "C"
   Case 65 To 74
      Cells(rowCounter, 3) = "D"
   Case 0 To 64
      Cells(rowCounter, 3) = "F"
   End Select

   rowCounter = rowCounter + 1

Next cell

A planilha resultante após a execução desse script VBA se parece com a abaixo.

Agora você sabe tudo o que precisa saber para começar a usar o VBA em seus aplicativos do Microsoft Office(Microsoft Office) .



About the author

Sou um especialista em computadores com mais de 10 anos de experiência e me especializei em ajudar as pessoas a gerenciar seus computadores em seus escritórios. Escrevi artigos sobre tópicos como otimizar sua conexão com a Internet, como configurar um computador para a melhor experiência de jogo e muito mais. Se você está procurando ajuda com qualquer coisa relacionada ao seu trabalho ou vida pessoal, eu sou a pessoa para você!



Related posts