VBA para o próximo - Guia para usar o Excel VBA para a próxima instrução

Excel VBA para o próximo loop

VBA For Next loop é um loop que é usado entre todas as linguagens de programação, neste loop há um critério após a instrução for para o qual o código efetua loops no loop até que os critérios sejam alcançados e quando os critérios forem alcançados, a próxima instrução direciona o procedimento para a próxima etapa do código.

O loop “For Next” é um daqueles loops mais usados ​​do que outros loops na codificação VBA. Os loops nos ajudarão a repetir o mesmo tipo de tarefa para células especificadas até que a condição seja TRUE.

FOR LOOP percorre todo o intervalo de células e executa uma tarefa específica até que a condição seja VERDADEIRA. Por exemplo, se você deseja percorrer as primeiras 10 células e inserir números de série incrementados em 1, pode usar o loop FOR NEXT.

Este loop precisa de uma variável para executá-lo. Usando esta variável, podemos referenciar dinamicamente as células.

Inclui três parâmetros.

Para declaração = Ponto de partida para ponto final (realizar alguma tarefa) Próxima declaração

Do ponto de partida, o loop iniciará e executará alguma tarefa após terminar a tarefa, será movido para o próximo loop e novamente executará a mesma tarefa na célula diferente. Assim, até chegar ao endpoint, ele continua executando a tarefa especificada.

Como usar o VBA para o próximo loop?

Suponha que você deseja inserir números de série de 1 a 10 para células A1 a A10. Claro, podemos inserir como escrever dez linhas de código.

Código:

Sub For_Next_Loop_Example1 () Intervalo ("A1"). Valor = 1 intervalo ("A2"). Valor = 2 intervalo ("A3"). Valor = 3 intervalo ("A4"). Valor = 4 intervalo ("A5") .Valor = 5 intervalo ("A6"). Valor = 6 intervalo ("A7"). Valor = 7 intervalo ("A8"). Valor = 8 intervalo ("A9"). Valor = 9 intervalo ("A10") .Value = 10 End Sub

Mas e se eu quiser inserir 100 números de série? Claro, não posso escrever 100 linhas de código apenas para inserir números de série. É aqui que a beleza do loop “FOR NEXT” entra em cena. Siga as etapas abaixo para minimizar o código.

Etapa 1: primeiro, precisamos definir uma variável. Eu declarei o nome da variável chamada “Serial_Number” como um tipo de dados inteiro.

Código:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer End Sub

Passo 2: Agora eu vou aplicar o loop FOR NEXT, nosso objetivo é inserir números de série de 1 a 10, então isso significa que nosso loop tem que rodar dez vezes. Portanto, a instrução FOR LOOP deve ser assim.

Para Serial_Number = 1 a 10

Próximo Serial_Number

Código:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer For Serial_Number = 1 a 10 Next Serial_Number End Sub

Etapa 3: aplicamos o loop. Agora, uma vez que o loop é aplicado, precisamos especificar o que temos que fazer dentro do loop. Nosso objetivo aqui é inserir números de série de 1 a 10. Portanto, escreva o código como Cells (Serial_Number, 1) .Value = Serial_Number.

Código:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer Dim Serial_Number = 1 a 10 células (Serial_Number, 1) .Value = Serial_Number Dim Serial_Number End Sub

Etapa 4: O motivo pelo qual fornecemos Serial_Number na propriedade CELLS, porque não podemos especificar o número incondicional para referência de linha aqui. Cada vez que o loop for executado, desejo inserir o novo número de série na nova célula, não na mesma célula.

Etapa 5: execute o código linha por linha pressionando a tecla F8.

Passo 6: Coloque o cursor na variável Serial_Number; ele mostra o valor atual de Serial_Number.

Neste momento, o valor Serial_Number é zero.

Etapa 7: Pressione mais uma vez a tecla F8, a cor amarela se moverá para a próxima linha de código em VBA. Agora coloque um cursor no Serial_Number.

Agora o valor de Serial_Number é igual a um porque agora o loop é iniciado e nosso loop inicia de 1, então o valor da variável Serial_Number é igual a um.

Mais uma coisa interessante aqui é onde quer que a variável Serial_Number esteja lá, que também é igual a 1.

Portanto, na propriedade das células, mencionamos o código como:

Células (Serial_Number, 1) .Value = Serial_Number

Isso significa Células (1, 1). Valor = 1. (Células (1,1) significa Linha1 e Coluna1.

Portanto, na linha 1 e na coluna 1, o valor deve ser 1.

Passo 8: Agora pressione F8 mais uma vez e veja o que acontece na Linha1 e Coluna1, ou seja, célula A1.

Portanto, temos 1 como o valor, ou seja, o valor de Serial_Number.

Step 9: Now press the F8 key one more time. Typically next code should be run i.e., the end of the substatement. But here, it will go back to the “above line.”

Step 10: Remember the loop already completed the first run. Now it returns for the second time. Now place a cursor on the variable Serial_Number and see what the value is.

Now variable Serial_Number is equal to 2 because the loop already returned for the second time.

Now, wherever Serial_Number is, there is equal to the value of 2. So the line code:

Cells(Serial_Number, 1).Value = Serial_Number is equal to:

Cells(2, 1).Value = 2. (Cells (2,1) means Row2 & Column1 i.e. A2 cell).

Step 11: Run this code and see the value in the A2 cell.

So, we got the second serial number value.

Etapa 12: Agora pressione a tecla F8. Ele voltará novamente à linha acima para repetir o código. Desta vez, o valor de Serial_Number será 3.

Etapa 13: onde Serial_Number estiver, será igual a 3.

Portanto, o código de linha: Cells (Serial_Number, 1) .Value = Serial_Number é igual a:

Células (3, 1). Valor = 3. (Células (3,1) significa Linha 3 e Coluna 1, ou seja, célula A3).

Etapa 14: Pressione F8 para executar a linha destacada e ver o valor na célula A3.

Etapa 15: agora continue pressionando F8. Ele continuará inserindo os números de série. O valor do momento da variável Serial_Number é 10, ele irá parar o loop e sair do loop.

Artigos interessantes...