lettura facile

Il ciclo FOR in una macro Excel

In questa lezione ti spiego come creare un ciclo FOR in una macro Excel.

Cos'è un ciclo? Un ciclo è una struttura di controllo che ti permette di ripetere un blocco di codice più volte. Ci sono diversi tipi di cicli. Il ciclo For viene utilizzato per eseguire un blocco di codice un certo numero di volte, utilizzando una variabile di iterazione che viene incrementata o decrementata in ogni iterazione.

Per creare un ciclo For in una macro Excel devi usare questa sintassi

For i = 1 To 10
' blocco codice
Next i

In questo caso la variabile di iterazione è la variabile i, il valore iniziale della variabile è 1 e il valore finale è 10.

Il blocco di codice devi inserirlo tra le istruzioni For e Next. In questo caso viene ripetuto 10 volte.

Ti faccio un esempio pratico.

Digita sul foglio Excel dei numeri nelle celle da A1 ad A10.

Poi crea questa macro ed eseguila.

  1. Sub Macro1()
  2. Dim i As Integer
  3. Dim s As Double
  4. s = 0
  5. For i = 1 To 10
  6. s = s + Range("A" & i).Value
  7. Next i
  8. Range("C2").Value = s
  9. End Sub

La macro definisce una variabile intera i e una variabile numerica s di tipo Double.

La variabile s viene inizializzata a 0 prima di iniziare il ciclo.

Il ciclo For i = 1 To 10 itera dieci volte.

  • La variabile di iterazione "i" viene inizializzata a 1 e incrementata di 1 ad ogni ciclo finché non raggiunge il valore 10.
  • In ogni iterazione del ciclo la macro legge il contenuto di una cella da A1 ad A10 e lo somma alla variabile s utilizzando l'istruzione s = s + Range("A" & i).Value

Al termine del ciclo la macro seleziona la cella B1 del foglio Excel e visualizza la somma tramite l'istruzione Range("B1").Value = s.

In questo caso la somma dei numeri è 49

la somma è 49

I cicli sono un elemento importante della programmazione informatica perché ti consentono di automatizzare delle operazioni ripetitive. In questo modo il codice della macro diventa più compatto e facile da leggere.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin