Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

CONTA LE CELLE COLORATE

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: CONTA LE CELLE COLORATE

Postdi Anthony47 » 07/12/11 11:27

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
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Sponsor
 

CONTA LE CELLE COLORATE

Postdi raimea » 07/12/11 19:24

ok, ho capito. :!:
quindi devo tornare a finire di sviluppare la prima macro che ho provato.
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Somma = 0
    For Each Cella In Range("o6:t6")
        If Cella.Interior.ColorIndex = 3 Then
            Somma = Somma + 1
        End If
    Next
    [ca6] = Somma
End Sub

avrei la necessita di contare anche le "righe" sotto da 07:t7 risultato CA7
poi o8:t8..... fino =1000:t1000 e compilare le relative celle CA
non so' come fare questo..

ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

CONTA LE CELLE COLORATE

Postdi raimea » 11/12/11 09:52

ok , ho trovato la macro che cercavo, (sono stato aiutato).
questo il cod nel caso serva a qualcuno:
Codice: Seleziona tutto
Sub contarossi()
    Dim Somma As Long
    Dim Cella As Range
    Dim J As Long
   
    userform1.Show vbModeless
    DoEvents

    INIZIO = Timer
   
    Range("CA5:CA10000").Select 'pulisco le celle
    Selection.ClearContents
   
   
    For J = 5 To 10000    '<------- INIZIO E FINE DELLE RIGHE DA CONTROLLARE
        Somma = 0
        For Each Cella In Range("O" & J & ":T" & J)
            If Cella.Interior.ColorIndex = 3 Then   '3 e' il cod colore rosso
                Somma = Somma + 1
            End If
        Next
        ActiveSheet.Cells(J, "CA") = Somma
    Next J
   
    Unload userform1
   Fine = Timer
   MsgBox ("Tempo impiegato " & Int((Fine - INIZIO) / 60) & " min " & (Fine - INIZIO) Mod 60 & " Sec")
   
   
End Sub

ciao, alla prossima. :idea:
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: CONTA LE CELLE COLORATE

Postdi gaetano73 » 26/03/12 16:21

Ciao a tutti,

scusate se riprendo un post praticamente chiuso. Per il mio scopo ho trovato utile adottare la soluzione riportata da raimea ovvero:
Codice: Seleziona tutto
Function CountByColor(InRange As Range, _
WhatColorIndex As Integer, _
Optional OfText As Boolean = False) As Long
'
' questa macro serve a contare le celle colorate in un foglio
' con la formula: =COUNTBYCOLOR(O5:T5;3;FALSO)
' 3 e' il rosso
'
Dim Rng As Range
Application.Volatile True

For Each Rng In InRange.Cells
If OfText = True Then
CountByColor = CountByColor - _
(Rng.Font.ColorIndex = WhatColorIndex)
Else
CountByColor = CountByColor - _
(Rng.Interior.ColorIndex = WhatColorIndex)
End If
Next Rng

End Function

Il metodo va bene, ma se dopo aver applicato la funzione, coloro/decoloro delle celle del range indicato negli argomenti, la funzione non si aggiorna. Per far si che legga la modifca apportata devo ritrascinare la funzione nelle celle in cui voglio visualizzare il risultato.

Mi aiutate?

Grazie
gaetano73
Utente Senior
 
Post: 247
Iscritto il: 03/09/02 18:36

Re: CONTA LE CELLE COLORATE

Postdi Anthony47 » 26/03/12 16:58

Come ho scritto nel messaggio subito dopo a quello dove raimea aveva presentato la sua macro (in questa discussione) l' applicazione del colore non innesca nessun ricalcolo; il tuo conteggio si aggiornera' solo dopo che qualche evento provochera' un ricalcolo, oppure quando premi F9.
Se vuoi un aggiornamento piu' frequente puoi sopperire con una macro "OnTime", ad esempio come descritto in questa discussione: viewtopic.php?t=52172

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CONTA LE CELLE COLORATE

Postdi gaetano73 » 26/03/12 22:04

Che stupido, è vero! Pardon, per la fretta, non avevo letto.Vada per l'F9!
Grazie!

PS: anche io penso che i colori debbano fare i colori... ma purtroppo la conta delle celle colorate mi è stata richiesta dal "committente" del file.
gaetano73
Utente Senior
 
Post: 247
Iscritto il: 03/09/02 18:36

Re: CONTA LE CELLE COLORATE

Postdi RuggBarb » 19/03/14 22:12

Buonasera! Scusate l intrusione. Ma ho davvero bisogno d'aiuto.
Ho creato un planning mensile x registrare appuntamenti. Ogni foglio corrisponde ad un mese. Ho colorato le celle di ciascun appuntamento in base alle esigenze. Ora vorrei sapere in un foglio a parte quante celle sono rosse x ogni mese quindi per ogni foglio. Ho provato di tutto formule, vba, macro moduli. Ma niente. Sbaglio qualcosa ma cosa non saprei! Se qualcuno può aiutarmi ve ne sarei grata!
RuggBarb
Newbie
 
Post: 1
Iscritto il: 19/03/14 21:49

Re: CONTA LE CELLE COLORATE

Postdi Anthony47 » 20/03/14 01:40

Ciao RuggBarb, benvenuto/a nel forum.
Se ti sei accodato a questa discussione e' perche' hai provato le soluzioni che qui sono state descritte, vero? Probabilmente pero' non hai provato la funzione CCC descritta qui: viewtopic.php?f=26&t=72430#p412767
Essa ti consente di Contare i colori delle celle; devi solo inserire nel foglio di riepilogo tante formule quanti sono i fogli da sondare, del tipo
Codice: Seleziona tutto
=CCC(Gennaio!$A$2:$H$15;F1)+CCC(Febbraio!$A$2:$H$15;F1)+etc etc

Nell' esempio F1 del foglio riepilogo contiene il "colore" da sondare; puoi quindi o usare un solo gruppo di formule e cambi il colore in F1 per avere il risultato che volta per volta ti serve calcolare; oppure copiare le stesse formule in righe sottostanti, usando quindi F1, F2, F3 etc come cella del colore campione.

Devi solo ricordare che l' applicazione di un colore non innesca nessun ricalcolo; eventualmente usa F9 per avere il calcolo aggiornato.

Ciao, fai sapere dove arrivi.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "CONTA LE CELLE COLORATE":


Chi c’è in linea

Visitano il forum: Nessuno e 24 ospiti