Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Contare celle a cui è applicata la formattazione condizionale

Ultimo Aggiornamento: 03/06/2018 15:09
30/05/2018 18:59

Chiedo aiuto agli esperti.
Ho un file con centinaia di righe con numeri su sei colonne.
Queste celle, a cui ho applicato la formattazione condizionale si colorano se rispondono a certi requisiti.
Come posso contare, riga per riga le celle colorate?
Ho provato diverse soluzioni trovate in rete ma senza soluzione.
Grazie
Post: 1.621
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
30/05/2018 19:12

ciao
senza file o almeno
la formula di formattazione è difficile
darti una risposta.


[Modificato da federico460 30/05/2018 19:12]
30/05/2018 19:29

File
Allego un file semplice di esempio.
Nelle colonna I vorrei che ci fosse il totale delle celle colorate, riga per riga.
Grazie
Post: 3.509
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
31/05/2018 01:14

Seguendo il Tuo allegato, la cosa migliore e rifare "quanto fatto in FC"
Ex nella riga2 =CONTA.SE(B2:G2;140),,, se poi ci sino altre condizioni aggiungerle di seguito
EX nella riga2 =CONTA.SE(B2:G2;140)+CONTA.SE(B2:G2;130)+CONTA.SE(B2:G2;110) ecc ecc e trascinare giù

Dato che usi Excel2007 presumo che il codice sotto non funzioni, comunque se Vuoi provarlo sul tuo allegato
Casomai sull'originale dovrai modificare i riferimenti della riga16
vb
Function ContaColorFC(ByRef rng As Range)
  Dim cella As Range
  Dim sFC As String
  ContaColorFC = 0
  For Each cella In rng
      If cella.DisplayFormat.Interior.ColorIndex <> xlColorIndexNone Then
        ContaColorFC = ContaColorFC + 1
      End If
  Next cella
End Function
Sub conta() ' questo il codice da avviare
Dim X As Long, Ur As Long
Ur = Range("A" & Rows.Count).End(xlUp).Row 'conta le righe
For X = 2 To Ur 'dalla riga2 sino alla fine
'NB Controlla le colonne da 1=A sino 7=G e scrive in colonna 8=H
    Cells(X, 8) = ContaColorFC(Range(Cells(X, 1), Cells(X, 7)))'riga16
Next X
End Sub
[Modificato da raffaele1953 31/05/2018 01:19]
Excel 2013
Post: 630
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
31/05/2018 10:12

Ciao a tutti,

@miky
essendo le celle colorate tramite formattazione condizionale, ti basta usare una formula con lo stesso criterio di quest'ultima....

In cella I2 (da copiare poi in basso):
=CONTA.SE($B2:$G2;$L$3)

Ciao
Tore


"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
31/05/2018 20:54

Re:
Grazie, ho provato il codice da te proposto ma non funziona.
Per la versione di Excel non avevo aggiornato il profilo, al momento utilizzo la versione 2016.
Probabilmente la soluzione migliore è il CONTA.SE.

Ciao


Post: 3.512
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
31/05/2018 21:22

2016 = deve funzionare
Edit hai messo il codice in un MODULO?
[Modificato da raffaele1953 01/06/2018 13:15]
Excel 2013
Post: 1.868
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
01/06/2018 13:17

ciao
la formula di Tore (saluti) "deve funzionare", a meno che il tuo schema non abbia struttura diversa da quella sottoposta.



[Modificato da dodo47 01/06/2018 13:18]
Domenico
Win 10 - Excel 2016
Post: 1.622
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
01/06/2018 18:12

ciao
visto il file
conta.se o matr.somma.prodotto


=MATR.SOMMA.PRODOTTO(--($B2:$G2=$L$3))




=CONTA.SE($B2:$G2;$L$3)




raffaele
la sub funziona
ma la funzione pur dando il risultato
mi da valore

ho scritto


=ContaColorFC(B2:G2)




c'è qualcosa di sbagliato?
[Modificato da federico460 01/06/2018 18:19]
Post: 3.514
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
02/06/2018 00:13

@federico460
Io non sono capace di spiegare, leggi questo vecchio post
http://www.excelvba.it/Forum/story/Excel_e_gli_applicativi_Office/Contare_celle_con_formattazione_condizionale.html
Excel 2013
Post: 1.623
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
02/06/2018 01:19

ciao
capito

grazie
Post: 580
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
02/06/2018 18:37

Salve a tutti
Visto che mi avete tirato in ballo (c'ero nella discussione citata), vorrei proporre una mia soluzione con VBA

Ecco il codice:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
'by Marius44
Dim FC As FormatCondition, F1, c As Range, a As Long
If Not Intersect(Target, Range("L3")) Is Nothing Then
  For Each c In Range("B2:G9")
    c.Activate
    For Each FC In ActiveCell.FormatConditions
      If FC.Type = xlCellValue Then
        F1 = Evaluate(FC.Formula1)
        If ActiveCell = F1 Then a = a + 1
      End If
    Next FC
  Next c
  MsgBox "Celle formattate = " & a
End If
End Sub

Allego il file in cui basta cambiare il dato in L3

Ciao,
Mario
Post: 3.515
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
03/06/2018 12:32

Un saluto a Marius44
Hai ragione, avrei dovuto citarne la fonte e per pigrizia ho usato la stessa Function
Scossa.vr (ciao) ha specificato bene la problematica + EXCEL 2010.
Qualsiasi Sub può farlo (tranne la stessa Function), comunque il conteggio era per ogni riga...
vb
Sub conta()
Dim X As Long, Ur As Long, cella As Range, Rng As Range, ContaColorFC As Long
Ur = Range("A" & Rows.Count).End(xlUp).Row
For X = 2 To Ur
    ContaColorFC = 0
    Set Rng = Range(Cells(X, 1), Cells(X, 7))
    For Each cella In Rng
        If cella.DisplayFormat.Interior.ColorIndex <> xlColorIndexNone Then
            ContaColorFC = ContaColorFC + 1
        End If
    Next cella
    Cells(X, 8) = ContaColorFC
Next X
Set Rng = Nothing
End Sub
[Modificato da raffaele1953 03/06/2018 12:36]
Excel 2013
Post: 581
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
OFFLINE
03/06/2018 15:09

Ciao Raffaele

Hai ragione. Ho letto male.
Comunque, facile aggiustarla (volendo, ma io non voglio [SM=x423029] )
Ciao,
Mario
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Formattazione condizionale celle sulla base di testo (20 messaggi, agg.: 26/10/2021 18:01)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 01:01. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com