Excel: contare celle per colore

visual basic excel

Excel: contare le celle in base al colore

In questo articolo rispondo a una domanda in cui mi si chiede come riuscire a contare celle per colore, ovvero come effettuare un conteggio di celle in base al colore.

Excel: contare le celle in base al colore

Se vuoi scaricare il foglio già compilato clicca sul pulsante qui sotto:

Argomenti tutorial:

  • 0:00 – Introduzione
  • 0:35 – Ringraziamenti a Roberto 😘 😙
  • 0:50 – Come scaricare i materiali dell’esercizio (File e/o codice)
  • 1:18 – Compilazione foglio
  • 2:15 – Come creare una funzione personalizzata in Visual Basic
  • 2:30 – Come personalizzare la barra multifunzione per il pulsante Visual Basic
  • 3:50 – Creazione nuovo modulo in VB
  • 4:40 – Applicazione nuova funzione CountBgColor
  • 6:57 – Verifica finale con conteggi e funzione SE
  • 8:20 – Come salvare il file
  • 8:55 – Conclusioni

Per effettuare un’operazione del genere è necessario creare una funzione personalizzata, usando l’editor Visual Basicche troviamo nell’ambiente Excel.

Per prima cosa dobbiamo entrare nell’editor Visual Basic. Il modo più veloce per entrare nell’editor di Visual Basic è premere la combinazione di tasti Alt + F11.

Altrimenti puoi personalizzare la barra multifunzione in questo modo:

Vai nel menù file – e seleziona la voce opzioni. Qui clicca sul pulsante personalizzazione barra multifunzione e dal menù a tendina sulla destra seleziona la scheda Visualizza e poi crea un nuovo gruppo usando il pulsante in basso (puoi rinominarlo se preferisci).

Ora, nella sezione più a sinistra, scegli l’opzione tutti i comandi. Scorri in basso per selezionare Visual Basic e clicca sul pulsante aggiungi per portarlo nel nuovo gruppo appena creato.

Excel: contare le celle in base al colore

Ora puoi dare l’ok, troverai il pulsante nella scheda Visualizza:

Excel: contare le celle in base al colore

Adesso clicca sul pulsante Visual Basic. Nel riquadro di sinistra clicca col tasto destro per selezionare la voce inserisci – modulo. Ora avrai un ambiente in cui poter scrivere del codice personalizzato:

excel visual basic

Ora incolla qui queste righe di Codice Visual Basic. In pratica stiamo creando una nuova funzione chiamata CountBgColor (possiamo comunque assegnare qualsiasi nome, l’importante è ricordarselo!)

Function CountBgColor(intervalloCelle As Range, cellaRifColor As Range) As Long
    
    Dim cella As Range
    Dim conteggio As Long
	Dim rifColor As Long
 
    Application.Volatile
    conteggio = 0
    rifColor = cellaRifColor.Cells(1, 1).Interior.Color
    For Each cella In intervalloCelle
        If rifColor = cella.Interior.Color Then
            conteggio = conteggio + 1
        End If
    Next cella
 
    CountBgColor = conteggio
End Function

Ora salviamo i file Excel dal menù File Salva con nome. Dalla voce Salva apriamo la tendina e scegliamo Cartella di lavoro con attivazione Macro di Excel. Il formato sarà XLSM. Assegnamo un nome e confermiamo cliccando sul pulsante Salva.

Cartella di lavoro con attivazione Macro di Excel

Adesso compila il tuo foglio, io sono andata avanti come si vede nell’immagine sotto(se preferisci puoi scaricare il mio file cliccando qui). L’obiettivo è quello di contare le celle colorate in rosso (vocali) e contare le celle colorate in verde (consonanti).

Excel: contare le celle in base al colore

Adesso posizioniamoci nella cella D1 e richiamiamo la funzione appena create digitando =CountBgColor Ora dobbiamo effettuare due selezioni separate da un punto e virgola (;).

  • La prima selezione riguarda l’intervallo di celle da prendere in considerazione per il conteggio, quindi l’intero alfabeto, da A1 ad A26.
  • La seconda selezione riguarda la cella che contiene il colore da conteggiare; in questo caso vogliamo sapere quante celle rosse ci sono, quindi andremo a selezionare la cella rossa, ovvero D1.

Quindi, nella cella la formula verrà scritta così: =CountBgColor(A1:A26;D1).
Il risultato sarà perciò 5 (il numero totale di vocali).

Se lo si ritiene più agevole, è possibile anche utilizzare la mascherina per richiamare la nuova formula. In questo caso, dopo esserci posizionati in D1, andremo a cliccare in fx per selezionare dal menù a tendina tutte. Cerchiamo la funzione CountBgColor e diamo l’ok.

Inseriamo

  • nel campo IntervalloCelle A1:A26
  • nel campo CellaRifColor D1
conteggiare le celle rosse
Excel: contare le celle in base al colore

Procediamo allo stesso odo per conteggiare le celle verdi:

Excel: conteggiare le celle verdi

IMPORTANTE!!!
👇👇👇

Questa funzione NON si aggiorna in automatico, quindi se vuoi effettuare nuovi calcoli con nuovi colori e/o selezioni, dovrai premere
F9 (il tasto per aggiornare il file!)

Se vuoi scaricare il foglio già compilato clicca sul pulsante qui sotto:

Guarda il video della lezione su YouTube:

  • 0:00 – Introduzione
  • 0:35 – Ringraziamenti a Roberto
  • 0:50 – Come scaricare i materiali dell’esercizio (File e/o codice)
  • 1:18 – Compilazione foglio
  • 2:15 – Come creare una funzione personalizzata in Visual Basic
  • 2:30 – Come personalizzare la barra multifunzione per il pulsante Visual Basic
  • 3:50 – Creazione nuovo modulo in VB
  • 4:40 – Applicazione nuova funzione CountBgColor
  • 6:57 – Verifica finale con conteggi e funzione SE
  • 8:20 – Come salvare il file
  • 8:55 – Conclusioni

Commenti

2 risposte a “Excel: contare celle per colore”

  1. Avatar GiorgioBitti
    GiorgioBitti

    Ottima spiegazione. Il suo sito mi ha aperto un mondo, con professionalità, chiarezza, estrema semplicità e immediata applicabilità! Grazie

  2. Avatar 3396272387 Marino Nicola
    3396272387 Marino Nicola

    Volevo sapere se è possibile implementare questa funzione sommando si le celle di un colore ma che abbiano anche lo stesso valore. Esempio, ho 5 celle tutte gialle che al loro interno hanno i seguenti numeri ciascuna 1, 2, 2, 3, 2. E’ possibile sommare le celle gialle che contengono solo il numero 2 al loro interno?

Lascia un commento

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