La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buonasera,
sono nuovo e spero di non aver aperto la discussione in una sezione sbagliata..
Avrei la necessità di trovare una formula in variante alla formula "ContaCellePerColore", ovvero nel mio caso mi servirevve una formula in grado di tenere conto del colore delle celle, ma anche del fatto che ci sia un valore numerico all'interno di esse oppure no(esempio lo 0).
Nel mio caso specifico, avrei bisogno di conteggiare quante sono le celle di colore rosso contenenti un valore, escludendo quindi quelle che non hanno un valore all'interno. Il risultato mi servirà poi per calcolare una media dei valori all'interno delle celle rosse.
Allego file esempio, dove ho evidenziato in giallo la cella in cui mi serveribbe la formula per il conteggio corretto. Nello stesso file ho già utilizzato due funzioni trovate proprio sul vostro sito:
-SommaCellePerColore
-ContaCellePerColore
ma ciò che serve a me è una sorta di "variante" alla seconda funzione, ovvero un sorta di "ContaCellePerColore.se" con il criterio da inserire ">0".
Ringrazio in anticipo per la disponibilità e complimenti per la professionalità e contenuti davvero al top.
PS: spero non abbiate problemi a visualizzare il file
Ciao
Prova con la modifica che ho apportato alla macro seguente (all'altra provvedi tu seguendo la stessa logica):
Function ContaCellePerColore(rData As Range, cellRefColor As Range) As Long Dim indRefColor As Long Dim cellaCorrente As Range Dim cntRes As Long Application.Volatile cntRes = 0 indRefColor = cellRefColor.Cells(1, 1).Interior.Color For Each cellaCorrente In rData If indRefColor = cellaCorrente.Interior.Color And cellaCorrente.Value > 0 Then cntRes = cntRes + 1 End If Next cellaCorrente ContaCellePerColore = cntRes End Function
ciao
Function ContaCellePerColore(rData As Range, cellRefColor As Range) As Long Dim indRefColor As Long Dim cellaCorrente As Range Dim cntRes As Long Application.Volatile cntRes = 0 indRefColor = cellRefColor.Cells(1, 1).Interior.Color For Each cellaCorrente In rData If indRefColor = cellaCorrente.Interior.Color And cellaCorrente > 0 Then cntRes = cntRes + 1 End If Next cellaCorrente ContaCellePerColore = cntRes End Function
ciao Marius
quasi ti frego in velocità 🤣
Ciao
Come diceva un famoso corridore ciclista: "Son contento di essere arrivato UNO" 🤣
Ciao,
Mario