Quer automatizar tarefas repetitivas no Excel VBA? Aprenda a 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 várias tarefas repetitivas usando uma variedade de loops, dependendo do idioma em questão. O VBA do Excel não é diferente dos demais, pois oferece uma série de opções de looping, cada uma atendendo a um propósito diferente.
Você pode usar esses loops definindo os pontos inicial e final, condição (ões) e parâmetros. Um desses loops proeminentes dentro do 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 bastante suas tarefas manuais.
O que é o loop Do-While no Excel VBA?
O loop do-while é bem direto; você pode usar esse loop para fazer seus lances se quiser gerar uma saída desejada com base em uma condição específica. O loop é executado até que a(s) condição(ões) definida(s) seja(m) Verdadeira(s). Quando o programa encontra 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 diferentes critérios; você pode até usar vários loops dentro do loop externo principal para aprimorar seu uso. Como iniciante, você deve consultar as Tutoriais de programação VBA para aprofundar seus conhecimentos e habilidades neste domínio.
Sintaxe Do-While Loop no Excel VBA
O loop do-while tem uma estrutura pré-definida, que você precisa seguir, para garantir que funcione suavemente sem incorrer em erros. Aqui está a sintaxe para referência:
Fazerenquanto [condição_referência]
[Declarações de critérios]
Laço
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 toda vez que o loop for executado.
Por fim, 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 no botão Inserir aba e adicione um novo módulo.
Você precisa escrever todo o código dentro desta janela do módulo. Adicione o seguinte código dentro do módulo:
Sub dowhileloop()
Escurecer um Como inteiro
a = 1
FazerEnquanto um <= 10
Células (a, 1) = 2 * a
a = a + 1
Laço
Fim 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 ressoe com o propósito do código. Neste exemplo, você pode usar o nome dowhileloop, seguido de ().
- Definir tipos de dados: A função de 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, portanto, use o tipo de dados inteiro para defini-lo. Você pode armazenar o número da linha inicial dentro dessa variável, para declarar o ponto de dados inicial do seu loop do-while.
- Defina a(s) condição(ões): Agora, é hora de passar a condição para controlar o loop do-while. Você pode usar o fazer enquanto palavras-chave, seguidas pela 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 o Função de células e a função Range no VBA. A função de células usa as referências de linha e coluna dentro do 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. Toda vez que o loop é executado, o valor da variável definida aumenta e a referência se move para a próxima célula disponível.
- Incremente sua variável: você pode passar a = a + 1 instrução para incrementar os valores da célula. Isso move o loop para a próxima parte da condição; o loop continua a executar até que a condição incorra em um valor False.
- Sair da condição de Loop: Uma vez que a condição é False, o loop sai com a palavra-chave Loop e, finalmente, sai da sub-rotina com a palavra-chave End Sub.
- Executando o Código: Com o código pronto, basta apertar o botão tecla F5 ou o botão play verde 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 seleciona sua sugestão da coluna A e imprime 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 da coluna A de células pré-preenchidas. Como o valor da linha inicial é um (a = 1), o valor final é dinâmico e é calculado automaticamente pelo loop do-while.
Usando seu valor de linha, o código percorre cada célula na 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 dentro do 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 toda vez 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 sub-rotina.
A saída é a seguinte:
Até que o valor na coluna A seja menor que 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 várias funções lógicas do Excel para executar 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.