Excel VBA: procedimento Loops explicado.
Loops do VBA do Excel
Loops são uma das ferramentas de programação mais básicas e poderosas do VBA e usadas na maioria das linguagens de programação. Loops são usados para repetir um bloco de código quantas vezes forem necessárias, até que uma determinada condição permaneça verdadeira ou um ponto específico (ou valor) seja alcançado, após o qual a próxima seção de código é executada. Um loop permite que você escreva algumas linhas simples de código e obtenha uma saída muito mais significativa, apenas por repetição.- Para loop
- Para ... Próximas declarações
- For Each ... Próximas declarações
- Do While Loop
- Do While ... Loop Statements
- Fazer ... Loop While Statements
- Do Until Loop
- Do Until ... Declarações de Loop
- Do ... Loop Até Declarações
Existem três tipos básicos de Loops do VBA (subdivididos em 6 loops, conforme abaixo):
Para loop
Para ... Próximas declarações
repete um bloco de código um número específico de vezes.o exemplo a seguir mostrará uma MsgBox por 5 vezes e exibirá o número.
Sub F_Next_loop () Dim i Como Integer Para i = 1 a 5 MsgBox i Próximo i End Sub
For Each ... Próximas declarações
O For Each ... Next Loop repete um bloco de código para cada objeto em um grupo. Repete a execução de um bloco de código para cada elemento de uma coleção. O loop pára quando todos os elementos da coleção foram abordados e a execução é movida para a seção de código imediatamente após a instrução Next.Sub F_each_loop () Dim Cell como intervalo para cada célula em ActiveSheet.Range ("A1: A10") Cell.Interior.Color = RGB (160, 251, 142) Próxima célula End Sub
A instrução Exit For interromperá imediatamente a execução do loop existente e executará a seção de código imediatamente após a instrução Next,
Do While Loop
repete um bloco de código indefinidamente enquanto a condição especificada continua a ser atendida e avaliada como True e pára quando a condição torna False. A condição pode ser testada no início ou no final do Loop.Do While ... Loop Statements
testar a condição no início,Sub do_While () Dim i Como Integer i = 1 Do While Células (i, 1) .Valor "" MsgBox ii = i + 1 Loop MsgBox i End Sub
Fazer ... Loop While Statements
testar a condição no final do LoopSub do_While () Dim i Como Integer i = 1 Do MsgBox ii = i + 1 Loop Enquanto Células (i, 1) .Valor "" MsgBox i End Sub
A instrução Exit Do interromperá imediatamente a execução do loop existente e executará a seção de código imediatamente após a instrução Next,
Do Until Loop
repete um bloco de código indefinidamente até que a condição seja atendida e seja avaliada como True. A condição pode ser testada no início ou no final do LoopDo Until ... Declarações de Loop
testar a condição no início,Sub do_Until () Dim i Como Integer i = 1 Do Until Not IsEmpty (Células (i, 1)) Células (i, 1) .Interior.Color = RGB (255, 0, 0) i = i + 1 Loop End Sub
Do ... Loop Até Declarações
teste a condição no final do Loop.Sub do_Until () Dim i Como Integer i = 1 Do Células (i, 1) .Interior.Color = RGB (255, 0, 0) i = i + 1 Loop Até Não IsEmpty (Células (i, 1)) End Sub