Condividi:        

EXCEL scritta se una cella è colorata in un determinato modo

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 scritta se una cella è colorata in un determinato modo

Postdi albertofox » 19/04/16 13:53

Buongiorno. Ormai sono diversi giorni che ci sbatto la testa. Avrei bisogna di una formula (creata con vba, ma io sono una pippa) che mi inserisca una determinata scritta a seconda di come è formattata una determinata cella.
Mi spiego meglio. Se la cella A1 è colorata di rosso, nella cella A2 ho bisogno che mi venga scritto ROSSO.
Inoltre, avrei bisogno che, oltre al colore di sfondo, la formula mi riconoscesse anche i colori del testo.

Spero che riuscirete ad aiutarmi, nel frattempo vi ringrazio in anticipo
albertofox
Newbie
 
Post: 7
Iscritto il: 19/04/16 13:48

Sponsor
 

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi alfrimpa » 19/04/16 14:18

Ciao Alberto

Se alleghi un file di esempio è meglio comunque questa macro

Codice: Seleziona tutto
Sub macro()
      If range("A1").Interior.ColorIndex = 3 Then
             Range("A2").Value = "ROSSO"
      End if
End If


Ti scrive in A2 "ROSSO" se lo sfondo della cella A1 è rosso.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi ricky53 » 19/04/16 16:20

Ciao,
attenzione che se nella cella hai impostato la formattazione condizionale che colora la cella il VBA NON può riconoscere questa colorazione !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi ricky53 » 19/04/16 16:22

Caio,
per il colore del font
Codice: Seleziona tutto
Range("A1").Font.ColorIndex


Per altre proprietà utilizza il registratore di macro e prova a cambiare il Font, la grandezza, il corsivo, il grassetto, ecc. ed avrai le istruzioni da utilizzare.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi alfrimpa » 19/04/16 16:26

Hai ragione Ricky :) mi ero dimenticato della formattazione condizionale.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi albertofox » 19/04/16 18:46

purtroppo credo di non essermi espresso bene, ti allego il file e provo a spiegarmi meglio.

Nelle colonne che vanno da I a O ho dei valori. Il colore assegnato a questi valori rappresenta un "movimento" avuto. Ora ci sono diversi tipi di movimento (grande, piccolo, rialzo, discesa ecc.). Mi servirebbe che in una cella apparte excel mi scriva ad esempio cella I9 rossa, nella cella P9 mi scriva "Rialzo". il tutto deve essere sempre visibile. Al momento lo sto facendo a mano ma mi ci vuole una vita...


File:
http://www.filedropper.com/italia-serieb
albertofox
Newbie
 
Post: 7
Iscritto il: 19/04/16 13:48

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi alfrimpa » 20/04/16 10:20

Ciao Alberto

Prova a vedere il file allegato nel quale ho inserito la seguente macro associata al pulsante "Evidenzia"

Codice: Seleziona tutto
Sub evidenzia()
Dim rng As Range
Dim cel As Range
Set rng = Range("i1:i500")
For Each cel In rng
    If cel.Interior.ColorIndex = 3 Then
        cel.Offset(0, 7).Value = "Rialzo"
    End If
Next cel
End Sub


Questo è il link

http://www.filedropper.com/alberto

Fammi sapere se era questo quello che volevi.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi alfrimpa » 20/04/16 10:47

Oppure in quest'altro modo è più semplice

Con questa function

Codice: Seleziona tutto
Function Evidenzia(a As Range)
If a.Interior.ColorIndex = 3 Then
    Evidenzia = "Rialzo"
    Else
    Evidenzia = ""
End If
End Function


basta scrivere in P1

Codice: Seleziona tutto
=Evidenzia(i1)


e copi la formula giù per la righe e a destra per le colonne che ti servono.

Ti allego file già compilato.

http://www.filedropper.com/alberto1

Fai sapere.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi albertofox » 21/04/16 00:35

Sei un grandissimo alfri! GRAZIE INFINITE! Xo, siccome a me serve che, oltre a riconoscermi quando la cella è rossa o verde, mi servirebbe che riconoscesse anche nel caso in cui il font sia colorato. Ho provato a fare qualcosa ma proprio non va...(in verità ci ho perso un bel po la testa :D :D :D ma niente)...il codice che ho creato è questo

Codice: Seleziona tutto
Function evidenzia(a As Range)
If a.Interior.ColorIndex = 3 Then
    evidenzia = "Discesa"
    ElseIf a.Interior.Color = 5350912 Then
    evidenzia = "Rialzo"
    ElseIf a.Font.Color = RGB(240, 0, 0) Then
    evidenzia = "Piccola Discesa"
    ElseIf a.Font.Color = RGB(0, 144, 0) Then
    evidenzia = "Piccolo Rialzo"
    Else
    evidenzia = "Black"
End If

End Function


Dove ho sbagliato?
albertofox
Newbie
 
Post: 7
Iscritto il: 19/04/16 13:48

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi alfrimpa » 21/04/16 09:21

Ciao Alberto

Mi devi dire con tutte le combinazioni possibili di colore di sfondo e testo che risultato deve venir fuori.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi albertofox » 21/04/16 10:14

Ciao grandissimo buongiorno :) allora le combinazioni sono 4
Se la cella è rossa -> discesa
Se la cella è verde -> rialzo
Se il font è rosso -> piccola discesa
Se il font è verde -> piccolo rialzo

Se nessuno dei 4 è presente, scritta black.

Come vedi ci ho provato a farlo (ho imparato qualcosa, come la funzione if else, e select case ma purtroppo non ne vengo a capo :d ).

L'unica cosa che forse hai bisogno di sapere, il verde del font, non è lo stesso verde del riempimento cella. Nel codice che ho postato ci sono i valori RGB.

Ps: ti devo una birrona :)
albertofox
Newbie
 
Post: 7
Iscritto il: 19/04/16 13:48

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi alfrimpa » 21/04/16 11:37

Ciao Alberto

Non sono sicuro di aver capito bene; ti allego altro file dove ho inserito questa function

Codice: Seleziona tutto
Function miovaluta(a As Range)
If a.Interior.ColorIndex = 3 Then
    miovaluta = "Discesa"
    ElseIf a.Interior.ColorIndex = 14 Then
    miovaluta = "Rialzo"
    ElseIf a.Font.ColorIndex = 3 Then
    miovaluta = "Piccola discesa"
    ElseIf a.Font.ColorIndex = 14 Then
    miovaluta = "Piccolo rialzo"
    Else
    miovaluta = "Black"
End If
End Function


che spero faccia quello che hai chiesto.

http://www.filedropper.com/alberto2

P.S. MI sono accorto ora che la tua function è sostanzialmente uguale alla mia perché dici che non funziona?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi albertofox » 21/04/16 11:44

Appena sono a casa lo provo e ti faccio sapere, il mio unico dubbio sono i colori dei font, perche il rosso del riempimento cella, non è lo stesso rosso del font...eventualmente volessi cambiare il ColorIndex, per impostarlo con i valori RGB...come dovrei fare? Cmq grazie ancora :) sei stato fantastico
albertofox
Newbie
 
Post: 7
Iscritto il: 19/04/16 13:48

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi albertofox » 21/04/16 11:52

L ho aperto con il telefono, e se non erro non riconosce il valore del "piccolo rialzo", infatti lo imposta come black.

La mia function non ho capito perche non funziona :( mi impostava solo i colori di riempimento ed il black :(
albertofox
Newbie
 
Post: 7
Iscritto il: 19/04/16 13:48

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi alfrimpa » 21/04/16 12:37

Ciao Alberto

Ho ridato un rapido sguardo ed a me pare che mia function funzioni bene.

Controlla per bene anche tu ed eventualmente segnala eventuali discrepanze.

P.S. Non credo ci sial la necessità di usare la funzione RGB()
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: EXCEL scritta se una cella è colorata in un determinato

Postdi albertofox » 21/04/16 12:51

EDIT! Ho risolto! come ti dicevo i colori che riempivano le celle non sono gli stessi dei font. Ho cambiato il "ColorIndex = 14" in "Color = RGB ecc." ed ora funziona! sei stato grandioso! GRAZIE!
albertofox
Newbie
 
Post: 7
Iscritto il: 19/04/16 13:48


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL scritta se una cella è colorata in un determinato modo":


Chi c’è in linea

Visitano il forum: Nessuno e 27 ospiti