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.
Informatics, ski racer, loves travels, Finland, Norway, mountains, squash, photography, Drones and RC Helicopter
sei il solito genio del male 🙂
salve, vorrei creare uno schemino che mi somma a1+a2+a3, in a4 il totale, in a5 la differenza tra 41 e max 60 se viene superata detta somma, in a6 la differenza oltre 60 se viene superato il limite e in a7 max 41 se si il conteggio arriva a detta somma