Conta celle sfondo rosso



  • Conta celle sfondo rosso
    di Andrea (utente non iscritto) data: 02/02/2013 21:22:53

    Buonasera al forum. Mi servirebbe questa formula: ho una tabella nelle celle a5:g30 con dei valori e la formattazione condizionale a tutto l'intervallo di celle che mi fa lo sfondo rosso a certe celle. In a1 mi servirebbe la formula che mi conti il numero di celle con lo sfondo rosso. Grazie in anticipo


  • file database e descrittivo con immagini e comment
    di luigi (utente non iscritto) data: 02/02/2013 21:25:09

    ciao, a lavoro creo cartellini operazione di montaggio con una parte descrittiva, una parte in cui vengono elencati gli elementi da montare ed una foto con aggiunte frecce, numeri e altro per identificare meglio gli oggetti da montare. Uso word creando file di circa 100 pagine di cartellini di montaggio, ma cosi mi perdo la possibilità di tenere un conteggio di tutti gli elementi montati.
    Mi piacerebbe poter utilizzare il database excel in quanto ho in un file excel come base di partenza l'elenco di tutti i pezzi montati (2300) sull'apparecchiatura con codice pezzo , descrizione e quantità.
    Anzi meglio ancora sarebbe avere un foglio standard su cui in una piccola zona tabella inizio ad inserire il codice da montare e il programma in automatico mi completa la riga con la descrizione e la quantità, una zona in cui mettere la descrizione e una zona dove caricare l'immagine con richiami e note sull'immagine stessa.
    Grazie a tutti per l'aiuto che verrà.



  • di Andrea (utente non iscritto) data: 02/02/2013 21:35:46

    Buonasera Luigi. Dovevi creare una nuova discussione e non scrivere sulla mia!



  • di luigi (utente non iscritto) data: 02/02/2013 22:18:00

    si scusa



  • di isy (utente non iscritto) data: 02/02/2013 22:50:16

    Ciao

    Citazione: ho una tabella nelle celle a5:g30 con dei valori e la formattazione condizionale a tutto l'intervallo di celle che mi fa lo sfondo rosso a certe celle

    Codice da inserire in un modulo:
     
    Option Explicit
    
    Sub FormatCondi()
        Dim FC As FormatCondition, F1, F2
        Dim Num As Long, Cella As Range
        For Each Cella In [A5:G30]
            Cella.Select
            For Each FC In ActiveCell.FormatConditions
                If FC.Type = xlCellValue Then
                    F1 = Evaluate(FC.Formula1)
                    Select Case FC.Operator
                    Case xlBetween: If ActiveCell >= F1 And ActiveCell <= Evaluate(FC.Formula2) Then Exit For
                    Case xlEqual: If ActiveCell = F1 Then Exit For
                    Case xlGreater: If ActiveCell > F1 Then Exit For
                    Case xlGreaterEqual: If ActiveCell >= F1 Then Exit For
                    Case xlLess: If ActiveCell < F1 Then Exit For
                    Case xlLessEqual: If ActiveCell <= F1 Then Exit For
                    Case xlNotBetween: If ActiveCell < F1 _
                    Or ActiveCell > Evaluate(FC.Formula2) Then Exit For
                    Case xlNotEqual: If ActiveCell <> F1 Then Exit For
                    End Select
                Else
                    If Evaluate(FC.Formula1) Then Exit For
                End If
            Next FC
            If Not FC Is Nothing Then Num = Num + 1 'FC.Interior.ColorIndex
        Next
        [A1] = Num
    End Sub



  • di Vecchio Frac data: 02/02/2013 23:45:45

    @isy
    Mi piace molto, è una bella versione compatta di CFColorindex.
    Però conta tutte le celle che hanno una formattazione condizionale, non è specifica per le celle che diventano solo rosse.






  • di isy (utente non iscritto) data: 03/02/2013 00:22:20

    Hi,

    Ho aggiunto il controllo del colore, ora è specifica per le celle che diventano solo rosse.

    Chiedo se è possibile realizzare una Function...
     
    Option Explicit
    
    Sub FormatCondi()
        Dim FC As FormatCondition, F1, F2
        Dim Num As Long, Cella As Range
        For Each Cella In [A5:G30]
            Cella.Select
            For Each FC In ActiveCell.FormatConditions
                If FC.Type = xlCellValue Then
                    F1 = Evaluate(FC.Formula1)
                    Select Case FC.Operator
                    Case xlBetween: If ActiveCell >= F1 And ActiveCell <= Evaluate(FC.Formula2) Then Exit For
                    Case xlEqual: If ActiveCell = F1 Then Exit For
                    Case xlGreater: If ActiveCell > F1 Then Exit For
                    Case xlGreaterEqual: If ActiveCell >= F1 Then Exit For
                    Case xlLess: If ActiveCell < F1 Then Exit For
                    Case xlLessEqual: If ActiveCell <= F1 Then Exit For
                    Case xlNotBetween: If ActiveCell < F1 _
                    Or ActiveCell > Evaluate(FC.Formula2) Then Exit For
                    Case xlNotEqual: If ActiveCell <> F1 Then Exit For
                    End Select
                Else
                    If Evaluate(FC.Formula1) Then Exit For
                End If
            Next FC
            If Not FC Is Nothing Then
                If FC.Interior.ColorIndex = 3 Then Num = Num + 1 'Conta solo se trova il colore Rosso
            End If
        Next
        [A1] = Num
    End Sub



  • di Andrea (utente non iscritto) data: 03/02/2013 08:06:28

    A me interesserebbe una formula da inserire nella cella a1. Tutto quel codice dove lo devo inserire?



  • di Andrea (utente non iscritto) data: 03/02/2013 08:59:33

    Aggiungo che in questa cartella di lavoro ho 3 fogli di lavoro e dove ho la tabella è il foglio1.



  • di isy (utente non iscritto) data: 03/02/2013 09:14:39

    Ciao

    Con Alt F11 apri Editor Vba

    Poi prova a scaricare l'esempio che allego Lo trovi in alto in questa pagina.



  • di Vecchio Frac data: 03/02/2013 09:24:35

    cit. " Ho aggiunto il controllo del colore, ora è specifica per le celle che diventano solo rosse. "
    ---> ottimo lavoro (googlando non ho trovato esempi migliori)

    Una Function? idea interessante, magari anche per cercare celle con stili oltre che con formati





  • di Andrea (utente non iscritto) data: 03/02/2013 09:40:46

    Grazie del file. Cosa intendi per una function? Scusa la mia ignoranza......



  • di Vecchio Frac data: 03/02/2013 13:50:53

    Isy intende una Function invece che una Sub, in modo da renderla parametrizzabile (cioè passarle degli argomenti da elaborare) e quindi renderla più flessibile. Si potrebbe anche usare direttamente in un foglio di lavoro, scrivendola in una cella come le altre funzioni:
    =FORMATCONDI([A1:A10], 3)
    conterebbe le celle con sfondo rosso a seguito di formattazione condizionale, nel range A1:A10.





  • di Vecchio Frac data: 03/02/2013 14:17:16

    Specificare range e colore secondo il .ColorIndex della tavolozza corrente (3 è rosso, 7 è fucsia, ecc)
     
    Public Function FormatCondi(r As Range, n As Integer)
    Dim FC As FormatCondition, F1, F2
    Dim Num As Long, cella As Range
        
        For Each cella In r
            cella.Select
            For Each FC In ActiveCell.FormatConditions
                If FC.Type = xlCellValue Then
                    F1 = Evaluate(FC.Formula1)
                    Select Case FC.Operator
                    Case xlBetween: If ActiveCell >= F1 And ActiveCell <= Evaluate(FC.Formula2) Then Exit For
                    Case xlEqual: If ActiveCell = F1 Then Exit For
                    Case xlGreater: If ActiveCell > F1 Then Exit For
                    Case xlGreaterEqual: If ActiveCell >= F1 Then Exit For
                    Case xlLess: If ActiveCell < F1 Then Exit For
                    Case xlLessEqual: If ActiveCell <= F1 Then Exit For
                    Case xlNotBetween: If ActiveCell < F1 _
                    Or ActiveCell > Evaluate(FC.Formula2) Then Exit For
                    Case xlNotEqual: If ActiveCell <> F1 Then Exit For
                    End Select
                Else
                    If Evaluate(FC.Formula1) Then Exit For
                End If
            Next FC
            If Not FC Is Nothing Then
                If FC.Interior.ColorIndex = n Then Num = Num + 1 'Conta solo se trova il colore specificato come .ColorIndex
            End If
        Next
        FormatCondi = Num
    End Function






  • di isy (utente non iscritto) data: 03/02/2013 15:27:39

    Hi,

    Ho provato il codice, non è attiva la selezione celle in una Function:
    Qui il codice "cella.Select" ad esempio non è operativo.

    La sola risposta ottenuta è quella relativa alla posizione in cui si inserisce il nuovo dato
    Dispiace!




  • di Vecchio Frac data: 03/02/2013 15:39:00

    Molto strano questo effetto...
    A me funziona benissimo, da A1 a A10 formattazione condizionale con celle fucsia se in B1:B10 c'è il valore "1", provato con quattro celle, impostato =formatcondi([a1:a10],7) e ottengo 4.
    Questo, su Excel 2003.
    Bisogna approfondire.





  • di isy (utente non iscritto) data: 03/02/2013 15:44:14

    Ciao

    Prova ad allegare il tuo file nel caso ho impostato diversamente i dati, io uso Excel 2003



  • di Andrea (utente non iscritto) data: 03/02/2013 17:51:27

    Ho provato il file ma non mi funziona. Per caso una formula del genere da mettere nella cella a1 esiste? =CONTA.SE(A5:G30; INTERIOR.COLOR RED)



  • di Vecchio Frac data: 03/02/2013 20:56:31

    @isy
    Allego piccolo file.
    L'inghippo nasce dal fatto che non riesco a usarla come funzione del foglio direttamente in cella.





  • di isy (utente non iscritto) data: 03/02/2013 21:25:24

    Hi,

    cit: L'inghippo nasce dal fatto che non riesco a usarla come funzione del foglio direttamente in cella.

    L'esempio è perfetto, io intendevo proprio mediante l'utilizzo di una formula.
    Io non saprei dire se ciò è possibile!




  • di Andrea (utente non iscritto) data: 04/02/2013 21:14:40

    Ho provato l'ultimo file e non va io ho office 2010



  • di Andrea (utente non iscritto) data: 06/02/2013 19:31:56

    Invece di contare le celle con lo sfondo rosso è più facile contare le celle con colore carattere giallo oppure è la stessa cosa? Se è più facile una formula da inserire nella cella c'è?



  • di Andrea (utente non iscritto) data: 07/02/2013 22:20:39

    Ma non si può fare niente?



  • di Andrea (utente non iscritto) data: 08/02/2013 15:39:48

    Ho aggirato il problema delle celle con lo sfondo rosso e l'ho risolto con il conteggio dei numeri.