05 – Le MACRO – Il controllo IF…THEN…ELSE

Stampa l'articolo

Oggi scopriremo come utilizzare la struttura di controllo IF…THEN…ELSE,

Lo scopo della lezione sarà quello di verificare se un numero sia pari oppure dispari ed in base a questo controllo, formatteremo la cella in cui è contenuto il valore, in modi differenti.

Per fare questo ci viene in aiuto la struttura di controllo IF…THEN, inoltre è previsto un controllo aggiuntivo denominato ELSE

Iniziamo subito col vedere la sintassi:

If X = qualcosa Then

…righe di codice con le istruzioni da eseguire nel caso in cui la condizione è VERA

Else

…righe di codice con le istruzioni da eseguire nel caso in cui la condizione è FALSA

End If

Nel nostro caso la variabile “X” sarà rappresentato dai valori contenuti nella tabella.

Nel caso in cui la condizione venga soddisfatta eseguiremo le righe di codice dopo il comando Then, in caso contrario eseguiremo il codice dopo l’istruzione Else

Il controllo dovrà terminare con il comando End If

Tramite i comandi Interior.ColorIndex e Font.ColorIndex, coloreremo in modo mirato celle e caratteri della tabellina e sfruttando il ciclo FOR visto la scorsa settimana, ci sposteremo in tutte le celle della prima riga, per poi ripetere l’operazione per tutte le celle della seconda riga e così via fino a controllare l’intera tabella.

Nell’area di sviluppo ho creato una nuova macro che ho chiamato PARI_DISPARI

Facciamo partire la macro col comando F8 per vedere passo passo le varie righe di codice.

Nella prima riga tramite il comando Dim andiamo a dichiarare le variabili.

Riga sarà il contatore delle righe per il ciclo FOR

Col sarà il contatore delle colonne sempre per il secondo ciclo FOR

Mentre la variabile x rappresenterà il valore contenuto nella singola cella della tabellina.

Infatti, se premiamo F8 la riga successiva:

x = Cells(Riga, Col).Value

assegnerà a x il valore contenuto nell’incrocio di riga e colonna.

Premiamo F8

Ed ecco che arriviamo alla riga di controllo IF…THEN, con l’istruzione:

If x Mod 2 = 1 Then

Faremo controllare ad Excel se la divisione per 2 del valore x restituisce il resto di 1, tramite questa operazione scopriremo se un dato numero è pari o dispari.

Se volete potete andare a vedere il video dove spiego le funzioni Quoziente e Resto, vi lascio il link in descrizione.

https://www.youtube.com/watch?v=1d9vVt9sDCE

Se il risultato della funzione Mod 2 è uguale ad 1 passeremo alle righe successive, che nel nostro caso saranno:

Cells(Riga, Col).Interior.ColorIndex = 5    

Che colorerà la cella di blu e:

Cells(Riga, Col).Font.ColorIndex = 2       

Che colorerà il carattere di bianco

Come potete vedere poiché la condizione è stata soddisfatta, la macro salterà ovviamente la riga ELSE ma si porterà direttamente alla riga End If

F8 per arrivare alla riga:

Next Col

che farà avanzare di una unità il contatore del ciclo e successivamente ritorneremo ad assegnare a x il valore contenuto nella cella che interseca la riga 3 con la colonna 4.

Vi faccio notare come nella parte bassa della schermata nel riquadro Variabili locali, abbiamo sempre sotto controllo il valore delle variabili.

Ma andiamo avanti, premiamo F8 di nuovo e per la seconda volta arriviamo all’istruzione:

If x Mod 2 = 1 Then

Poiché il valore che si trova nella cella D3 è uguale a 2, il risultato della funzione sarà 0, in questo caso la condizione non essendo soddisfatta salterà il comando THEN per andare direttamente ad ELSE

Premiamo F8 ed andiamo con l’istruzione:

Cells(Riga, Col).Interior.ColorIndex = 3   

A colorare la cella di rosso

Fatto questo passaggio la macro si porterà ancora una volta alla riga End If per poi ripetere successivamente i controlli all’interno del blocco FOR

Non ci resta che far partire l’intera macro con il comando F5 o premere sul tasto verde “esegui Sub” per ammirare il risultato finale.

Nel video qui sotto trovate tutti i passaggi appena illustrati, buona visione.

Condividi il post

Facebook
Twitter
LinkedIn
Email
WhatsApp

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Articoli correlati

Funzioni & Formule

La funzione TESTO

La funzione TESTO, consente di convertire numeri o date in testo e di formattarlo secondo le proprie esigenze.

Read More »
Torna su