Como usar o loop Do-While no Excel VBA
Quer automatizar tarefas repetitivas no Excel VBA? Aprenda como usar o loop Do-While para executar um conjunto de ações repetidamente até que uma condição seja atendida.
Os loops são parte integrante de qualquer linguagem de codificação e você pode automatizar muitas tarefas repetitivas usando uma variedade de loops, dependendo da linguagem em questão. O VBA do Excel não é diferente dos demais, pois oferece uma série de opções de loop, cada uma com uma finalidade diferente.
Você pode usar esses loops definindo os pontos inicial e final, condições e parâmetros. Um desses loops proeminentes no VBA é o loop do-while, que você pode usar para trabalhar com automação de dados. Veja como usar o loop do-while do Excel VBA, uma metodologia de loop sempre essencial, que pode simplificar muito suas tarefas manuais.
O que é o loop Do-While no Excel VBA?
O loop do-while é bastante simples; você pode usar esse loop para fazer sua licitação se quiser gerar uma saída desejada com base em uma condição específica. O loop é executado até que as condições definidas sejam True. Assim que o programa encontrar um valor False, o loop termina e imprime os resultados nas células designadas.
Você pode usar o loop do-while em vários estágios e com critérios diferentes; você pode até usar vários loops dentro do loop externo principal para aprimorar seu uso. Como iniciante, você deve consultar tutoriais elaborados de programação VBA para aprimorar seu conhecimento e habilidades neste domínio.
Sintaxe do Loop Do-While no Excel VBA
O loop do-while possui uma estrutura predefinida, que você precisa seguir para garantir que funcione perfeitamente e sem incorrer em erros. Aqui está a sintaxe para referência:
Do while [condition_reference]
[Criteria statements]
Loop
O loop começa com a palavra-chave do-while, seguida pelas referências inicial e final. A primeira parte da sintaxe controla todo o loop. Em seguida, você precisa definir as instruções que serão executadas sempre que o loop for executado.
Finalmente, uma vez que a condição do loop incorre em um valor False, a palavra-chave loop é executada e sai do loop. Esta é uma estrutura geral; você pode refiná-lo para executar diferentes ações. Aqui estão alguns exemplos para se familiarizar com o funcionamento de um loop do-while.
Escrevendo seu primeiro código de loop Do-While
Suponha que você queira exibir os múltiplos de dois na coluna A. A condição é imprimir os números até que o contador chegue a 20.
Para fazer isso, navegue até a guia Desenvolvedor em seu Excel e abra o editor de codificação; alternativamente, pressione Alt + F11 para abrir o editor de codificação diretamente. Na janela do editor de código, clique na guia Inserir e adicione um novo módulo.
Você precisa escrever todo o código nesta janela do módulo. Adicione o seguinte código dentro do módulo:
Sub dowhileloop()
Dim a As Integer
a = 1
Do While a <= 10
Cells(a, 1) = 2 * a
a = a + 1
Loop
End Sub
O Código Explicado
Aqui está um detalhamento do código para ajudá-lo a dominar o básico:
- Usar sub-rotina: Para começar a escrever o código no Excel VBA, crie um shell externo com uma função de sub-rotina (Sub). Dê a ele um nome significativo, que corresponda ao propósito do código. Neste exemplo, você pode usar o nome dowhileloop, seguido de().
- Definir tipos de dados: A função dimensão (dim) deve ser usada para declarar os tipos de dados variáveis. Ao declarar o tipo de dados, você pode tornar seu código eficiente e melhorar a velocidade de execução. Neste caso, a variável a armazena valores inteiros, então use o tipo de dados inteiro para defini-la. Você pode armazenar o número da linha inicial nesta variável para declarar o ponto de dados inicial do seu loop do-while.
- Definir condição(ões): Agora é hora de passar a condição para controlar o loop do-while. Você pode usar as palavras-chave do while, seguidas da condição. Como você deseja executar o loop dez vezes, use a condição a <=10.
- Passe as instruções executáveis: É importante que você saiba a diferença entre a função Cells e a função Range no VBA. A função de células usa referências de linha e coluna no VBA. Por exemplo, durante a primeira iteração, quando o valor de a =1, a fórmula da célula é (1,1). Na memória do VBA, isso se traduz na célula A1. Cada vez que o loop é executado, o valor da variável definida aumenta e a referência passa para a próxima célula disponível.
- Incremente sua variável: você pode passar a instrução a=a + 1 para incrementar os valores das células. Isto move o loop para a próxima parte da condição; o loop continua a ser executado até que a condição incorra em um valor False.
- Condição de saída do Loop: Quando a condição for False, o loop termina com a palavra-chave Loop e, finalmente, sai da sub-rotina com a palavra-chave End Sub.
- Executando o código: Como o código está pronto, basta pressionar a tecla F5 ou o botão verde play na barra de menu superior para executar o código.
O resultado final mostra uma lista de números de 2 a 20 na coluna A.
Usando uma coluna pré-preenchida como condição de loop
Agora que você entendeu a sintaxe e as nuances da construção de uma estrutura básica, por que não escrever outro código para imprimir números semelhantes com base em critérios pré-existentes? Por exemplo, você pode criar uma condição de loop que escolha sua sugestão na coluna A e imprima a saída na coluna B.
Com base no total de células preenchidas na coluna A, você pode imprimir múltiplos de dois na coluna B. O loop executa a contagem total de células pré-preenchidas da coluna A. Como o valor da linha inicial é um (a =1), o valor final é dinâmico e é calculado automaticamente pelo loop do-while.
Usando o valor da linha, o código percorre cada célula da coluna A e multiplica o número por 2. A saída é mostrada na coluna B.
Se houver mais de dez valores na coluna A, o loop será executado até encontrar um valor em branco na primeira coluna. Da mesma forma, você pode escrever condições ainda mais complexas no loop do-while e usá-lo para verificar as condições e exibir a saída conforme necessário.
Usando uma instrução IF em um loop Do-While
Assim como os loops aninhados, você pode usar a instrução IF dentro do loop Do-While para adicionar outra camada de condição. Nesse caso, o loop do-while executa o loop inteiro até que a condição seja False, e a instrução IF interna é executada sempre que o loop é executado.
No exemplo abaixo, o loop do-while percorre cada célula na coluna A, até encontrar uma célula em branco. Posteriormente, a instrução IF verifica o valor de cada célula na coluna A e imprime a saída na coluna B. Assim que o loop externo encontra uma célula em branco na coluna A, o loop para e sai da subrotina.
A saída é a seguinte:
Até que o valor na coluna A seja menor que igual a cinco, o valor resultante na coluna B é cinco. Em A6, como o valor da célula é maior que cinco, a saída resultante é sete, que está sincronizada com a condição IF.
Desvendando as funcionalidades multifacetadas do VBA
Excel e VBA formam uma combinação muito propícia para realizar análises avançadas de dados. Mesmo sem o VBA, você pode usar diversas funções lógicas do Excel para realizar tarefas complicadas, exemplificando suas habilidades de programação.
Se você estiver interessado em análise de dados e usar o Excel em suas atividades regulares, poderá se beneficiar imensamente com o uso das funções lógicas multifacetadas do Excel.