E aí, pessoal! Hoje vamos falar sobre algo que parece um bicho de sete cabeças, mas na verdade é mais manso que um gatinho: o Loop While. Sim, aquele mesmo, que usamos tanto no VBA quanto no Python. E se você está pensando “Ah, mas eu só sei VBA, Python é muito complicado”, relaxa! Vou te mostrar que é só um pulinho de uma linguagem para a outra.
O que é esse tal de Loop?
Vamos começar do começo. O que é um loop? Bom, imagine que você está aprendendo a tabuada do 2. Você começa com 2 vezes 1, depois 2 vezes 2, 2 vezes 3, e assim por diante, até chegar em 2 vezes 10. Quando você termina a última multiplicação, aí sim você pode dizer “Acabei!” e ir jogar bola ou fazer qualquer outra coisa que você gosta.
Então, basicamente, um loop é isso: uma repetição de uma tarefa até que uma condição seja satisfeita. No nosso exemplo, a condição era multiplicar o número 2 por todos os números de 1 a 10. No mundo da programação, essa condição pode ser qualquer coisa: enquanto uma variável for maior que zero, enquanto uma lista tiver elementos, enquanto o usuário não apertar o botão “sair”, e por aí vai.
Loop While no VBA
Agora que já entendemos o que é um loop, vamos ver como ele funciona no VBA. Vamos começar com um exemplo simples. Digamos que temos uma variável a que começa com o valor 1. Queremos fazer um loop que repita 10 vezes, e a cada repetição, a é incrementada em 1. No VBA, isso ficaria assim:
Sub Taboada()
Dim a As Integer
a = 1
While a <= 10
' Imprime a tabuada do 2
Debug.Print "2 x " & a & " = " & 2 * a
a = a + 1
Wend
End Sub
Aqui, usamos o Debug.Print para imprimir a tabuada do 2.
Ele é uma ferramenta muito útil durante o desenvolvimento, pois nos permite ver o que está acontecendo no código.
Para ver o resultado do Debug.Print, você precisa habilitar a janela de Verificação Imediata (Immediate Window). Mas lembre-se, o Debug.Print é usado apenas durante o desenvolvimento.
Em um programa final, você provavelmente usará outras formas de mostrar os resultados ao usuário.
Loop While no Python
Agora, vamos ver como fazer a mesma coisa no Python. Se você já entendeu o exemplo em VBA, vai ver que no Python é praticamente a mesma coisa:
a = 1
while a <= 10:
# Imprime a tabuada do 2
print("2 x", a, "=", 2 * a)
a = a + 1
Viu só? A lógica é exatamente a mesma! A única diferença é a sintaxe: no Python, usamos while em vez de While, e : em vez de Wend. Além disso, no Python a indentação (os espaços no início da linha) é importante, pois é ela que define o que está dentro do loop.
No Python, usamos a função print para imprimir a tabuada do 2. Assim como o Debug.Print no VBA, o print no Python nos permite ver o que está acontecendo no código durante o desenvolvimento. No entanto, em um programa Python final, o print normalmente não é usado, e você usará outras formas de mostrar os resultados ao usuário.
E aí, notou mais essa similaridade entre VBA e Python? Ambas as linguagens têm uma maneira de “imprimir” valores para que possamos ver o que está acontecendo durante o desenvolvimento. Mais um motivo para você ver que de VBA para Python é só um pulinho!
Assista ao Vídeo Completo
Se você gostou deste post e quer aprender ainda mais, eu tenho uma ótima notícia! Temos um vídeo completo onde eu explico tudo isso em detalhes, com muitos outros exemplos e dicas. Tenho certeza de que você vai gostar.
Clique aqui para assistir a aula que postei no Youtube sobre esse assunto.
E tem mais, neste post aqui eu trago a explicação de como usar LOOPS em um caso da vida real, entrando no mundo do Power Query, mas, na aula você verá que a lógica é exatamente a mesma.
Conclusão
E aí, viu como é fácil? De VBA para Python é só um pulinho! A lógica do loop é a mesma, só muda um pouco a sintaxe. Então, da próxima vez que você pensar “Ah, Python é muito complicado”, lembre-se deste post e dê um pulinho!
Espero que tenha gostado deste post.
Se tiver alguma dúvida ou sugestão, deixe nos comentários.
Até a próxima!
Abraço do