Immaginiamo di aver bisogno di contare le celle di un intervallo di Excel, B5:B20, in base alla loro formattazione; ad esempio abbiamo bisogno di contare tutte le celle che hanno il carattere o lo sfondo uguale alla formattazione presente ad esempio in B5 (o eventualmente in una qualsiasi altra cella)
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:
Function CountCcolor(range_data As Range, criteria As Range) As Long
Dim datax As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor Then
CountCcolor = CountCcolor + 1
End If
Next datax
End Function
Chiudere la finestra e ritornare in Excel. La funzione che deve essere inserita per contare le celle in un intervallo Excel in base ad una specifica formattazione è la seguente:
=CountCcolor(Range_Data;Criteria)
dove
Range_Data è l’intervallo che contiene le celle che si vogliono contare
Criteria è la cella che contiene la formattazione che si vuole utilizzare come filtro per il conteggio
P.S.
Se nella cella di riferimento o nelle celle dell’intervallo viene modificato il formato, l’aggiornamento del risultato del conteggio non è automatico; il cambiamento di un dato nelle celle dell’intervallo da contare farà si che il risultato venga aggiornato.
Invece il metodo più veloce per far si che il conteggio si aggiorni automaticamente quando cambiate il formato delle celle nell’intervallo, è quello di applicare il formato nelle celle che dovranno essere aggiunte al conteggio copiandolo da una cella già formattata utilizzando il pulsante Copia Formato presente sulla barra degli strumenti di Formattazione.
Informatics, ski racer, loves travels, Finland, Norway, mountains, squash, photography, Drones and RC Helicopter
grazie per avermi risposto, ho provato ma non ci sono riuscito, quello che mi interessa e che su di un foglio excel dove ce un conteggio di giorni lavorativi, alla colonna delle festività che sono in rosso se scrivo ML non mi deve conteggiare 6 ore ma 0
grazie
come posso mandarti il file excel
Interessante, quasi adatto al mio caso.
Ho una tabella con un certo numero di righe e di colonne. Utilizzo la tabella per registrare su ciascuna riga il nome del partecipante a corsi sulla sicurezza e sulle colonne il numero della risposta data al quesito (domande con risposta multipla) nel test finale di verifica dell’apprendimento. Tutte le celle hanno medesima formattazione. Se la risposta è corretta la cella corrispondente a quella risposta si colora in verde e il carattere del numero della risposta è nero. Se la risposta è sbagliata la cella si colora in rosso e il carattere del numero della risposta è bianco. Se non viene data risposta la cella si colora in giallo e numero giallo.
Come si presenta il codice per rispondere a quanto sopra? E la funzione? (Excel 2003)
Grazie
@fernando: prova a inviarmi il file con le spiegazioni dettagliate su ciò che hai bisogno, quando ho tempo provo a dare un’occhiata. La mail la trovi nei contatti.
@gianfranco: da quello che scrivi immagino che ci sia un criterio che fa si che le celle si colorino di verde, rosso e giallo; quindi se è così puoi usare semplicemente la funzione conta.se per contare le celle che corrispondono ai criteri che ti interessano.
interessantissimo!! peccato che non mi viene. ho un elenco di numeri dove alcune celle sono colorate di verde e vorrei che si sommassero proprio queste. Ho copiato il tuo codice ma non esce nulla. Cosa potrebbe essere? credo sia office 2013 (home and student 2013)
grazie