VBA per Avanti - Guida per utilizzare Excel VBA per l'istruzione successiva

Excel VBA per il ciclo successivo

VBA For Next loop è un loop che viene utilizzato tra tutti i linguaggi di programmazione, in questo loop c'è un criterio dopo l'istruzione for per il quale il codice si ripete nel loop fino a quando i criteri vengono raggiunti e quando i criteri vengono raggiunti l'istruzione successiva dirige la procedura al passaggio successivo del codice.

Il ciclo "For Next" è uno di quei loop che viene utilizzato molto spesso rispetto ad altri loop nella codifica VBA. I cicli ci aiuteranno a ripetere lo stesso tipo di attività per celle specificate fino a quando la condizione non sarà VERA.

FOR LOOP esegue un ciclo attraverso l'intervallo di celle ed esegue un'attività specifica finché la condizione non è TRUE. Ad esempio, se si desidera scorrere le prime 10 celle e inserire numeri di serie incrementati di 1, è possibile utilizzare il ciclo FOR NEXT.

Questo ciclo necessita di una variabile per eseguire il ciclo. Usando questa variabile, possiamo fare riferimento dinamicamente alle celle.

Include tre parametri.

Istruzione For = Da punto di partenza a punto finale (eseguire alcune attività) Istruzione successiva

Dal punto di partenza il ciclo inizierà ed eseguirà alcune attività dopo aver terminato l'attività, il suo passaggio al ciclo successivo e di nuovo eseguirà la stessa attività nella cella diversa. In questo modo, finché non raggiunge l'endpoint, continua a eseguire l'attività specificata.

Come utilizzare VBA per il ciclo successivo?

Supponiamo di voler inserire numeri di serie da 1 a 10 in celle da A1 a A10. Ovviamente possiamo inserire come scrivere dieci righe di codice.

Codice:

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

Ma cosa succede se voglio inserire 100 numeri di serie? Ovviamente non posso scrivere 100 righe di codice solo per inserire numeri di serie. È qui che entra in gioco la bellezza del ciclo "FOR NEXT" . Segui i passaggi seguenti per ridurre a icona il codice.

Passaggio 1: in primo luogo, dobbiamo definire una variabile. Ho dichiarato il nome della variabile chiamato "Serial_Number" come un tipo di dati intero.

Codice:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer End Sub

Passaggio 2: ora ordino di applicare il ciclo FOR NEXT, il nostro obiettivo è inserire i numeri di serie da 1 a 10, quindi questo significa che il nostro ciclo deve essere eseguito per dieci volte. Quindi l'istruzione FOR LOOP dovrebbe essere così.

Per Serial_Number = da 1 a 10

Serial_Number successivo

Codice:

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

Passaggio 3: abbiamo applicato il ciclo. Ora, una volta applicato il ciclo, dobbiamo specificare cosa dobbiamo fare all'interno del ciclo. Il nostro obiettivo qui è inserire i numeri di serie da 1 a 10. Quindi scrivi il codice come Cells (Serial_Number, 1) .Value = Serial_Number.

Codice:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer Dim Serial_Number = da 1 a 10 celle (Serial_Number, 1) .Value = Serial_Number Dim Serial_Number End Sub

Passaggio 4: il motivo per cui abbiamo fornito Serial_Number nella proprietà CELLS perché non possiamo specificare il numero fondamentale per il riferimento di riga qui. Ogni volta che viene eseguito il ciclo, voglio inserire il nuovo numero di serie nella nuova cella, non nella stessa cella.

Passaggio 5: eseguire il codice riga per riga premendo il tasto F8.

Passaggio 6: posizionare un cursore sulla variabile Serial_Number; mostra il valore corrente di Serial_Number.

A questo punto, il valore Serial_Number è zero.

Passaggio 7: premere ancora una volta il tasto F8, il colore giallo si sposterà alla riga di codice successiva in VBA. Ora posiziona un cursore su Serial_Number.

Ora il valore di Serial_Number è uguale a uno perché ora il ciclo è avviato e il nostro ciclo parte da 1, quindi il valore della variabile Serial_Number è uguale a uno.

Un'altra cosa interessante qui è che ovunque sia presente la variabile Serial_Number, che è anche uguale a 1.

Quindi nella proprietà delle celle, abbiamo menzionato il codice come:

Celle (Serial_Number, 1) .Value = Serial_Number

Ciò significa Cells (1, 1) .Value = 1. (Cells (1,1) significa Row1 & Column1.

Quindi nella riga numero 1 e nella colonna numero 1, il valore dovrebbe essere 1.

Passaggio 8: ora premi F8 ancora una volta e guarda cosa succede in Riga1 e Colonna1, cioè cella A1.

Quindi abbiamo ottenuto 1 come valore, ovvero il valore di 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.

Passaggio 12: ora premere il tasto F8. Tornerà di nuovo alla riga sopra per ripetere il codice. Questa volta il valore Serial_Number sarà 3.

Passaggio 13: quindi, ovunque sia Serial_Number, è uguale a 3.

Quindi il codice della riga: Cells (Serial_Number, 1) .Value = Serial_Number è uguale a:

Celle (3, 1) .Value = 3. (Cells (3,1) significa Row3 & Column1 ie A3 cell).

Passaggio 14: premere F8 per eseguire la linea evidenziata e vedere il valore nella cella A3.

Passaggio 15: ora continua a premere F8. Continuerà a inserire i numeri di serie. Il valore del momento della variabile Serial_Number è 10 interromperà il ciclo e uscirà dal ciclo.

Articoli interessanti...