Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CONTA.SE in base al colore riempimento

19,940 views
Skip to first unread message

Fabio

unread,
Sep 28, 2004, 6:27:30 AM9/28/04
to
Salve,
vorrei realizzare una pagina di riepilogo, per fare ciò vorrei inserire
nella colonna A i vari prodotti ed avere nella colonna B il numero del
relativo prodotto con colore riempimento Rosso presente in tutti i fogli(ho
12 fogli,1 per ogni mese).
Poi nella colonna C e D mi servibbe sapere lo stesso prodotto ma con "colore
riempimento" Azzurro e Giallo,ma questo credo non sia un problema,bastaerà
modificare nella formula il colore. A proposito dove prendo i codici dei
colori?


Tiziano Marmiroli

unread,
Sep 28, 2004, 6:44:32 AM9/28/04
to

Oggetto:sommare celle
Newsgroups:microsoft.public.it.office.excel
Data:2004-09-01 02:12:02 PST
http://www.google.it/groups?threadm=ch432h%24ik%241%40grillo.cs.interbusiness.it


--
Tiziano Marmiroli
Microsoft MVP - Office

Fabio

unread,
Sep 28, 2004, 6:57:17 AM9/28/04
to

"Tiziano Marmiroli" <t.mar...@mvps.org> ha scritto nel messaggio
news:iofil09on2pu4hc82...@4ax.com...


Grazie della risposta,ma il mio quesito è posto in base al colore
riempimento e non al colore del testo. Come dovrei modificare quella macro?
Grazie


Fabio

unread,
Sep 28, 2004, 7:28:01 AM9/28/04
to

"Fabio" <fabbio...@NOSPAMemail.it> ha scritto nel messaggio
news:hsb6d.7468$75.3...@news3.tin.it...

>
>
>
> Grazie della risposta,ma il mio quesito è posto in base al colore
> riempimento e non al colore del testo. Come dovrei modificare quella
macro?
> Grazie
>
>

Con la formula CountColor(B1;B3:B9) riesco a contare le celle con un
determinato colore in un intervallo da me definito.
Ora vorrei che il risultato restituito si riferisse esclusivamente al codice
prodotto da me impostato.
ES. In una colonna ci sono 10 differenti codici di prodotti con differenti
colori di riempimento, con la formula scritta sopra ho il numero totale di
prodotti con un determinato colore di riempimento,ma come fare per escludere
tutti i prodotti che non mi interessano ed avere solo quello impostato?
Grazie


Tiziano Marmiroli

unread,
Sep 28, 2004, 11:17:19 AM9/28/04
to
Il Tue, 28 Sep 2004 11:28:01 GMT, Fabio ha scritto:

> Con la formula CountColor(B1;B3:B9) riesco a contare le celle con un
> determinato colore in un intervallo da me definito.
> Ora vorrei che il risultato restituito si riferisse esclusivamente al codice
> prodotto da me impostato.
> ES. In una colonna ci sono 10 differenti codici di prodotti con differenti
> colori di riempimento, con la formula scritta sopra ho il numero totale di
> prodotti con un determinato colore di riempimento,ma come fare per escludere
> tutti i prodotti che non mi interessano ed avere solo quello impostato?

Puoi modificarla cosě:

'-----------------------
Public Function ContaCodici(rColor As Range, rSumRange As Range)

'Conta le celle aventi motivo e valore di una cella data

Dim rCell As Range
Dim iCol As Integer
Dim vCodice
Dim vResult

iCol = rColor.Interior.ColorIndex
vCodice = rColor.Value

For Each rCell In rSumRange
If rCell.Interior.ColorIndex = iCol And rCell.Value = vCodice Then
vResult = vResult + 1
End If
Next rCell

ContaCodici = vResult
End Function
'-----------------------

Fabio

unread,
Sep 28, 2004, 11:43:01 AM9/28/04
to

"Tiziano Marmiroli" <t.mar...@mvps.org> ha scritto nel messaggio
news:dfnil0huufc5j0dt2...@4ax.com...
> Puoi modificarla così:

>
> '-----------------------
> Public Function ContaCodici(rColor As Range, rSumRange As Range)
>
> 'Conta le celle aventi motivo e valore di una cella data
>
> Dim rCell As Range
> Dim iCol As Integer
> Dim vCodice
> Dim vResult
>
> iCol = rColor.Interior.ColorIndex
> vCodice = rColor.Value
>
> For Each rCell In rSumRange
> If rCell.Interior.ColorIndex = iCol And rCell.Value = vCodice Then
> vResult = vResult + 1
> End If
> Next rCell
>
> ContaCodici = vResult
> End Function
> '-----------------------
>
> --
> Tiziano Marmiroli
> Microsoft MVP - Office

Grazie,la tua modifica funziona perfettamente. L'unica pecca sta nel fatto
che nella pagina di riepilogo devo creare 3 celle con lo stesso nome ma con
colore differente. Esiste un modo (magari un'altra piccola modifica) in modo
da "prendere" il testo da una cella specificata e il colore da un'altra?
In questo modo creerei una sola cella con valore X e poi 3 celle con i soli
colori differenti che mi servono per la ricerca.
Grazie mille


Tiziano Marmiroli

unread,
Sep 28, 2004, 1:56:52 PM9/28/04
to
Il Tue, 28 Sep 2004 15:43:01 GMT, Fabio ha scritto:

> Grazie,la tua modifica funziona perfettamente. L'unica pecca sta nel fatto
> che nella pagina di riepilogo devo creare 3 celle con lo stesso nome ma con
> colore differente. Esiste un modo (magari un'altra piccola modifica) in modo
> da "prendere" il testo da una cella specificata e il colore da un'altra?
> In questo modo creerei una sola cella con valore X e poi 3 celle con i soli
> colori differenti che mi servono per la ricerca.

Non mi pare necessario. Se devi 'contare' un solo codice alla volta ti
basta scrivere nelle 3 celle 'colorate' una formula tipo: =$F$1
In tal modo ti basta aggiornare il valore di F1.


Se invece hai effettivamente esigenze piů complesse puoi modificare la
funzione cosě:

'-----------------------
Public Function ContaCodici(rCodice As Range, rColor As Range, rSumRange As Range)

'Conta le celle aventi motivo e valore di celle date

Dim rCell As Range
Dim iCol As Integer
Dim vCodice
Dim vResult

iCol = rColor.Interior.ColorIndex
vCodice = rCodice.Value

For Each rCell In rSumRange
If rCell.Interior.ColorIndex = iCol And rCell.Value = vCodice Then
vResult = vResult + 1
End If
Next rCell

ContaCodici = vResult
End Function
'-----------------------

Controllala bene perchč ho fatto poche prove.

Fabio

unread,
Sep 28, 2004, 2:24:28 PM9/28/04
to

"Tiziano Marmiroli" <t.mar...@mvps.org> ha scritto nel messaggio
news:468jl017m13l22uc9...@4ax.com...

Perfetto! Grazie mille. Ultima cosa,come avrai capito non sono molto pratico
di excel, se volessi contare il valore X di un determinato colore su piů di
un foglio?
La mia formula al momento č

=ContaCodici1(A3;$B$1;OTTOBRE!B3:B1000)

Se volessi inserire anche Settembre?

Ho provato con:

=ContaCodici1(A3;$B$1;OTTOBRE!B3:B1000&SETTEMBRE!B3:B1000)

ma non va.
Grazie


Tiziano Marmiroli

unread,
Sep 28, 2004, 2:56:59 PM9/28/04
to
Il Tue, 28 Sep 2004 18:24:28 GMT, Fabio ha scritto:

> Perfetto! Grazie mille. Ultima cosa,come avrai capito non sono molto pratico
> di excel, se volessi contare il valore X di un determinato colore su piů di
> un foglio?
> La mia formula al momento č
>
> =ContaCodici1(A3;$B$1;OTTOBRE!B3:B1000)
>
> Se volessi inserire anche Settembre?
>
> Ho provato con:
>
> =ContaCodici1(A3;$B$1;OTTOBRE!B3:B1000&SETTEMBRE!B3:B1000)
>
> ma non va.

La funzione somma accetta piů intervalli.
Es. =SOMMA(OTTOBRE!B3:B1000;SETTEMBRE!B3:B1000)

La funzione ContaCodici1 invece accetta un solo intervallo. Quindi se
devi contare un valore in celle non consecutive devi per forza usare:

=ContaCodici1(A3;$B$1;OTTOBRE!B3:B1000)+ContaCodici1(A3;$B$1;SETTEMBRE!B3:B1000)

Fabio

unread,
Sep 28, 2004, 6:09:27 PM9/28/04
to

"Tiziano Marmiroli" <t.mar...@mvps.org> ha scritto nel messaggio
news:hccjl09q3hu7sil1i...@4ax.com...
> La funzione somma accetta più intervalli.

> Es. =SOMMA(OTTOBRE!B3:B1000;SETTEMBRE!B3:B1000)
>
> La funzione ContaCodici1 invece accetta un solo intervallo. Quindi se
> devi contare un valore in celle non consecutive devi per forza usare:
>
>
=ContaCodici1(A3;$B$1;OTTOBRE!B3:B1000)+ContaCodici1(A3;$B$1;SETTEMBRE!B3:B1
000)
>
>
> --
> Tiziano Marmiroli
> Microsoft MVP - Office


Mi permetto di disturbarti per l'ennesima volta...
Tutto funziona perfettamente, l'unico problema è che i dati nel foglio di
riepilogo non si aggiornano automaticamente. Voglio dire che se cambio il
colore di una cella il valore che dovrebbe aggiornarsi resta
immutato,cliccandoci sopra e facendo invio il valore si aggiorna
correttamente. Come posso risolvere questo?
Grazie ancora.


Tiziano Marmiroli

unread,
Sep 28, 2004, 6:29:00 PM9/28/04
to
Il Tue, 28 Sep 2004 22:09:27 GMT, Fabio ha scritto:

> Tutto funziona perfettamente, l'unico problema č che i dati nel foglio di


> riepilogo non si aggiornano automaticamente. Voglio dire che se cambio il
> colore di una cella il valore che dovrebbe aggiornarsi resta
> immutato,cliccandoci sopra e facendo invio il valore si aggiorna
> correttamente. Come posso risolvere questo?

Mi pareva strano non te ne lamentassi! :-)

AFAIK non c'č una soluzione. Il ricalcolo avviene quando vengono
modificati i valori. Dopo esser intervenuto sul colore puoi forzare il
ricalcolo usando F9.

A causa di problemi di questo tipo e della scarsa chiarezza č
decisamente sconsigliato effettuare calcoli basandosi sulla
formattazione.

Fabio

unread,
Sep 28, 2004, 6:36:56 PM9/28/04
to

"Tiziano Marmiroli" <t.mar...@mvps.org> ha scritto nel messaggio
news:7eojl01vm23ps5nce...@4ax.com...


Beh č un bel problema :-( Anche perchč forzando il ricalcolo con F9 non
succede nulla,anche chiudendo Excel e riaprendolo i dati non si aggiornano.
Non c'č un modo per forzare l'aggiornamento automaticamente? Magari
aggiungendo qualcosa nella macro?


0 new messages