O melhor guia VBA (para iniciantes) que você precisa


A plataforma Programação VBA que roda em quase todos os produtos do Microsoft Office é uma das ferramentas mais poderosas que qualquer pessoa pode usar para aprimorar seu uso desses produtos.

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

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

Como ativar e usar o editor VBA

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

Você aprenderá como fazer isso no próximo guia Advanced VBA.

  • Para ativar o menu Desenvolvedor em qualquer produto de escritório, selecione o ArquivoOpçõesno menu de navegação esquerdo.
  • Você verá um menu pop-up Opções. Selecione Personalizar faixa de opçõesno menu de navegação esquerdo.
  • A lista da esquerda inclui todos os menus e comandos de menu disponíveis no aplicativo Office. A lista à direita é a que está disponível ou ativada no momento.

    In_content_1 all: [300x250] / dfp: [640x360]->
    googletag.cmd.push (function () {googletag.display ('snhb-In_content_1-0');});
    • Você deve ver o Desenvolvedor na lista à direita, mas ele não será ativado. Marque a caixa de seleção para ativar o menu Desenvolvedor.
      • Se você não vê o Desenvolvedordisponível à direita, altere a esquerda Escolha comandosdo menu suspenso para Todos os comandos. Encontre Desenvolvedorna lista e selecione Add>>no centro para adicionar esse menu à faixa de opções.
      • Selecione OKquando terminar.
      • Quando o menu Desenvolvedor estiver ativo, você poderá voltar à janela principal do aplicativo e selecionar Desenvolvedorno menu superior.
      • Em seguida, selecione Exibir códigono grupo 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 a alguns dos aplicativos do Office que você usa todos os dias . Quando estiver confortável em abrir a janela do editor VBA, continue na próxima seção deste guia.
          • Dicas gerais de programação do VBA para iniciantes

            Você perceberá que quando o editor do VBA for aberto, as opções de navegação no painel esquerdo parecerão diferentes de um aplicativo do Office para o 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. 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 iguais em todos os aplicativos. A única diferença são os objetos que você pode referenciar e as ações que você pode executar nesses objetos através do código VBA.

            Antes de mergulharmos nos diferentes objetos e ações que você pode executá-los via código VBA, primeiro observe a estrutura e a sintaxe mais comuns do VBA que você pode usar ao escrever o código VBA.

            Onde colocar o código VBA

            Quando você 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, em Excel, se você escolher Planilhae Ativar, o código será executado sempre que a planilha for aberta.

            Outra planilha as ações 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 ao editor, sempre faça coloque seu código VBA no objeto e use a ação correta que você deseja usar para acionar esse código.

            Instruções IF do VBA

            Um IF A instrução funciona no VBA, assim como em qualquer outra linguagem de programação.

            A primeira parte da instrução IF analisa 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 "aprovada" e atribuir a aprovação ou aprovação. status de falha para outra célula.

            Se as células (2, 2)>75 Então as células (2, 3) = "Passam" outras células (2, 3) = "Fail"

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

            Se as células (2, 2)>75 Então
            Células (2, 3) = "Passam" a mais _
            Células (2, 3) = "Fail"

            O uso dessa técnica geralmente torna o código muito mais fácil de ler e depurar.

            VBA para próximos loops

            As instruções IF são ótimas para comparações únicas, como no 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 SE em cada uma?

            Nesse caso, você precisará de um loop FOR.

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

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

            Dim rng As Range, célula As Range
            Dim rowCounter as Integer

            Defina o tamanho do intervalo da seguinte forma.

            Defina rng = Range ("B2: B7")
            rowCounter = 2

            Finalmente, você pode criar seu loop FOR para percorrer todas as células desse 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 for executado, você verá o resulta 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 restante true.

            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

            Nota: 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ó termina quando o contador for MAIOR que o contador - portanto, o último valor 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ê pode apenas incremente a contagem do intervalo (6) em 1, porque uma vez que a variável rowCounter atinge o final dos dados (linha 7), o loop pode terminar.

            VBA Fazer enquanto e fazer até fazer loops

            Os loops While e Do Até são quase idênticos aos loops While, mas funcionam ligeiramente diferentes.

            • O While Loopverifica se uma condição é verdadeira no início do loop.
            • O Loop Do-Whileverifica se uma condição é verdadeira após a execução das instruções no loop.
            • O Loop de Do-Atéverifica se uma condição ainda é falsa após a execução do loop.
            • Nesse caso, você reescreveria t ele loop While, como a seguir, como 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 ter certeza de que a lógica a comparação ocorre depois que todas as instruções são executadas (permitindo que todas elas sejam executadas, independentemente do que seja pelo menos uma vez), e então um loop Do-While ou Do-Até é a opção correta.

              Instruções de caso de seleção do VBA

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

              Dado o exemplo acima, digamos que você queira ter um método de classificação que não seja apenas reprovação. 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, será semelhante ao abaixo.

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

              VBA Excel - 6 Códigos Simples que você Precisa Conhecer

              Postagens relacionadas:


              29.01.2020