La funzione seguente permette di trovare il valore minimo o massimo in un intervallo di celle che presentano un determinato colore di sfondo; ad esempio immaginiamo di avere un intervallo di valori numerici e di voler trovare qual è il valore minimo o massimo delle celle dell’intervallo che hanno lo sfondo rosso.

Dovendo lavorare in ambiente VBA apriamo la relativa finestra.

In Excel XP o 2003
Menù Strumenti – Macro – Visual Basic Editor

In Excel 2007
Bottone di Office – Pulsante Opzioni di Excel – Impostazioni generali – Opzione Mostra scheda Sviluppo sulla barra multifunzione
A questo punto ritornando nella finestra di Excel verrà visualizzata anche la Scheda Sviluppo nella quale troviamo il pulsante Visual Basic

In Excel 2010
Scheda File – Opzioni – Personalizzazone barra multifunzione – Selezionare Sviluppo nella sezione Schede principali
A questo punto ritornando nella finestra di Excel verrà visualizzata anche la Scheda Sviluppo nella quale troviamo il pulsante Visual Basic

Nella finestra Visual Basic inserire un nuovo modulo (menù Inserisci – Modulo) quindi copiare il codice riportato qui sotto:

Per trovare il valore minimo:

Function Mincol(r As Range)
Dim c As Range
Mincol = WorksheetFunction.Min(r)
For Each c In r
If Not IsEmpty(c) And c.Interior.ColorIndex = 3 And c < Mincol Then Mincol = c
Next

Chiudere la finestra e ritornare in Excel. La funzione che deve essere inserita è la seguente:

=Mincol(r) in cui r è l’intervallo delle celle da analizzare

Per trovare il valore massimo:

Function Maxcol(r As Range)
Dim c As Range
Maxcol = WorksheetFunction.Min(r)
For Each c In r
If Not IsEmpty(c) And c.Interior.ColorIndex = 3 And c > Maxcol Then Maxcol = c
Next
End Function

Chiudere la finestra e ritornare in Excel. La funzione che deve essere inserita è la seguente:

=Maxcol(r) in cui r è l’intervallo delle celle da analizzare

N.B. le funzioni precedenti visualizzano il numero minimo e massimo delle celle che presentano uno sfondo rosso; nel caso in cui si voglia cambiare il colore di riferimento si dovrà cambiare all’interno della funzione l’indice del colore come riportato sotto:

c.Interior.ColorIndex = 3

mettendo al posto del 3 il relativo indice; è possibile visualizzare un elenco degli indici dei colori cliccando qui.

Risolvere problemi al profilo di Outlook
La Cina che cambia e il nuovo disordine mondiale - prospettive economiche e geopolitiche

Informatics, ski racer, loves Finland, Norway, mountains, squash, photography, Drones and RC Helicopter – Snapchat: andrea.perotti

Translate »