Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel trova cella colorata

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

Excel trova cella colorata

Postdi Statix » 09/05/09 16:43

Ciao a tutti,
devo trovare una cella colorata in rosso in un range B2:C10 e restituirmi il valore contenuto.
esempio se nel range B2:C10 ho una cella C8 colorata di rosso e il valore 21,devo fare in modo che trovata la cella rossa mi restituisce 21 in A1
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: Excel trova cella colorata

Postdi biancocandido55 » 09/05/09 18:34

Ciao Statix,
inserisci questa funzione nel modulo:
Codice: Seleziona tutto
Public Function COLORE(Cella As Range, indice As Long) As Boolean
If Cella.Interior.ColorIndex <> indice Then
COLORE = False
Else
COLORE = True
End If
End Function

poi scrivi questa formula nella cella dove vuoi il risutato:
Codice: Seleziona tutto
=SE(COLORE(B2:C8;3)=VERO;C2)

vedi se ti va bene così e fammi sapere
ciao
biancocandido
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: Excel trova cella colorata

Postdi biancocandido55 » 09/05/09 18:53

Scusami Statix, ma mentre scrivevo ho premuto invio per errore....
ho rivisto fa formula e non va bene, poi sbirciando qua e la in internet oltre alla funzione colore che ho postato
ho trovato anche questa, vedi se può tornarti utile:
Per sommare le celle di un intervallo in base al colore dello sfondo o del carattere
Codice: Seleziona tutto
Function SumByColor(InRange As Range, WhatColorIndex As Integer, _
Optional OfText As Boolean = False) As Double
'
' This function return the SUM of the values of cells in
' InRange with a background color, or if OfText is True a
' font color, equal to WhatColorIndex.
'
Dim Rng As Range
Dim OK As Boolean
Application.Volatile True
For Each Rng In InRange.Cells
If OfText = True Then
OK = (Rng.Font.ColorIndex = WhatColorIndex)
Else
OK = (Rng.Interior.ColorIndex = WhatColorIndex)
End If
If OK And IsNumeric(Rng.Value) Then
SumByColor = SumByColor + Rng.Value
End If
Next Rng
End Function

Chiudere la finestra e ritornare in Excel. La funzione che deve essere inserita per sommare le celle
secondo un colore è la seguente:
=SUMBYCOLOR(INTERVALLO,COLORE,TIPO COLORE)
In cui:
INTERVALLO: L'intervallo delle celle che verranno analizzate
COLORE: Il numero del colore relativo alle effettive celle da sommare
TIPO COLORE: VERO per indicare che il colore è riferito al testo - FALSO per indicare che il colore è
riferito allo sfondo
Esempio: =SUMBYCOLOR(A10:B30,3,FALSO)
Somma, nell'intervallo A10:B30, le celle che hanno lo sfondo rosso
ciao bianco
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: Excel trova cella colorata

Postdi Statix » 09/05/09 22:31

ciao biancocandido,
credo che la macro che hai postato non faccia ciò che voglio fare,
in un post precedente Anthony mi aveva già risolto con una macro il trova cella colorata,
la modifica che voglio apportare e che trovata la cella colorata ,vorrei estrarre il numero contenuto nella cella
esempio se nella cella(colore rosso) c'è il numero 22,la macro mi deve trovare la cella rosso e darmi il numero 22 in un altra cella A1
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel trova cella colorata

Postdi Statix » 10/05/09 10:49

allego foto esempio

Immagine
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel trova cella colorata

Postdi Anthony47 » 10/05/09 11:42

Questa ti restituisce il valore della prima cella trovata dello stesso colore di una cella di riferimento:
Codice: Seleziona tutto
Function GetValCol(ShArea As Range, RefCol As Range)
Application.Volatile
For Each Cella In ShArea
If Cella.Interior.ColorIndex = RefCol.Interior.ColorIndex Then
GetValCol = Cella.Value: Exit For
End If
Next Cella
End Function
Si usa ad esempio con
Codice: Seleziona tutto
=GetValCol(D5:J25;A1)
il colore di sfondo di A1 e' usato per il confronto.

Se invece vuoi dichiarare direttamente l' indice di colore:
Codice: Seleziona tutto
Function GetValCol1(ShArea As Range, ClrIndex As Integer)
Application.Volatile
For Each Cella In ShArea
If Cella.Interior.ColorIndex = ClrIndex Then
GetValCol1 = Cella.Value: Exit For
End If
Next Cella
End Function
Si richiama con
Codice: Seleziona tutto
=GetValCol1(D5:J25;3)

Le due funzioni "volatili", cioe' si ricalcolano a ogni cambiamento nel foglio; tieni pero' presente che una formattazione non e' occasione di ricalcolo, quindi e' opportuno un F9 quando vuoi essere certo che il risultato sia ok.

AMBEDUE FANNO RIFERIMENTO al colore applicato con "Formatta cella"; NESSUNA delle due funziona su colore applicato tramite Formattazione Condizionale.


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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel trova cella colorata

Postdi Statix » 10/05/09 14:04

Ciao Anthony,
ho provato ma non riesco a farla funzionare,
ho inserito il codice della Function nel codice Foglio1

e in A1
Codice: Seleziona tutto
=GetValCol(D5:J25;A1)

provate entrambe ,non va ,mi da #nome
dove sbaglio?
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel trova cella colorata

Postdi Anthony47 » 10/05/09 15:28

Hai inserito la funzione in un "Modulo standard" (corretto) o in un "Modulo codice di un foglio di lavoro" (errato)?

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel trova cella colorata

Postdi Statix » 10/05/09 15:38

Ciao Anthony
tutto ok ,dovevo premere F9
c'è un modo di farlo senza premere F9
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel trova cella colorata

Postdi Anthony47 » 10/05/09 15:49

Le due funzioni "volatili", cioe' si ricalcolano a ogni cambiamento nel foglio; tieni pero' presente che una formattazione non e' occasione di ricalcolo, quindi e' opportuno un F9 quando vuoi essere certo che il risultato sia ok.

Quindi: se il foglio ha un qualsiasi cambiamento (che non sia di sola formattazione) il risultato si ricalcola. Se questo non ti va bene potresti inserire una macro che on-time esegue un Calculate ogni tot secondi; ma non e' quello che raccomando.
D' altra parte i colori sono un aspetto di presentazione delle informazioni, usarli come contenuto e' un po' al limite.

(Mi sembra comunque strano che prima di F9 ti abbia dato #Nome?, a meno che non abbia scritto prima la formula sul foglio e poi il codice.)

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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel trova cella colorata

Postdi waller » 10/07/13 09:50

Buongiorno a tutti, mi sono appena iscritto (e non ho trovato un area per le presentazioni) perchè avrei bisogno del vostro aiuto.
Riesumo questo post in quanto, dopo un po' di ricerca, mi sembra il più adatto e secondo me la macro GetValCol potrebbe essere la più adatta.
Partiamo da questo screen:
Immagine
In parole semplici devo gestire il personale nei vari cantieri, e per ogni cantiere vorrei avere la spesa totale della manodopera.
Qui entrano in gioco i colori: la parte difficile è che, per ogni giorno, ciascun "esterno" mi conta 1 (ossia 10 ore) per la colonna "O", un altro numero da 1 a 9 nella colonna "S" per lo straordinario, e uno 0,5 oppure 1 per la colonna "D" (diaria): ciascuna colonna ha il costo di riferimento nelle colonne GG - STR - DIAR.
Ho tentato anche la SumByColor, ma senza esito...
Spero sia tutto chiaro, altrimenti...avanti con le domande!!
waller
Newbie
 
Post: 2
Iscritto il: 10/07/13 08:39

Re: Excel trova cella colorata

Postdi Flash30005 » 10/07/13 17:07

Ciao Waller e benvenuto nel Forum

Ma hai provato con una o più tabelle di Pivot?
evita i colori per fare le somme, Pivot fa di più, meglio e senza errori

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel trova cella colorata

Postdi waller » 11/07/13 08:25

ciao Flash, grazie mille per il tuo consiglio!
Devo studiarmi come funzionano le tabelle Pivot perchè non le ho mai utilizzate :roll: :roll: :D
waller
Newbie
 
Post: 2
Iscritto il: 10/07/13 08:39

Re: Excel trova cella colorata

Postdi Flash30005 » 11/07/13 09:09

C'è un esempio di Anthony in questa discussione
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=99463&p=573121&hilit=pivot#p573121
l'adatterai alle tue esigenze

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "Excel trova cella colorata":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti