Come e' noto i colori in excel non sono elementi di valorizzazione ma solo di presentazione, quindi la loro modifica non innesca nessun ricalcolo.
Di conseguenza la formula =COUNTBYCOLOR(O5:T5;3;FALSO) non sara' in grado di aggiornarsi man mano che cambiano i colori del range indirizzato. Un parziale recupero si ha inserendo l' istruzione Application.Volatile True che segnala a quella macro che deve ricalcolarsi ogni volta che il foglio subisce un Change; insomma si tratta di una macro che si riattiva tutte le volte che cambia una cella in un qualsiasi foglio del tuo file.
Penso che qualcosa possa migliorare usando sempre Application.Calculation = xlManual / xlCalculationAutomatic; oppure trasformi la Function in una macro che poi attivi con un pulsante quando ti serve avere il valore corretto; oppure (sempre dopo la trasformazione in macro) la richiami in fase di chiusura della form che spesso usi per indicare che c' e' una elaborazione in corso (evento Deactivate di quella form).
Per chiarezza anche la funzione CCC ti darebbe lo stesso problema.
Ciao