La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno a tutti, Vi ringrazio anticipatamente per l'eventuale aiuto.
Ho più file simili a quello allegato, ho cercato ovunque, provando anche a modificare le macro ma, non ho avuto successo. Ho bisogno che la targhetta di ogni foglio, in base al valore della cella "J38" di ogni foglio, cambi colore rispetto al valore risultante. in pratica se =0 diventi verde - se<0 diventi giallo e se>0 diventi rosso.
Spero di essere stato chiaro, ringrazio tutti per l'aiuto.
Ciao
Se ho capito bene, cambia la formula in J38 così
=SE.ERRORE((H38+M38)-C38;0)
Credo, però, che avrai bisogno di un Evento per ogni foglio.
Ciao,
Mario
@marius44 , ti ringrazio ma, ho bisogno di cambiare il colore della targhetta, linguetta del foglio di lavoro in base al valore interno la cella J38, non il colore della cella
grazie
ciao
in questa cartella di lavoro
cambia i colori come vuoi
la formula in J38 la devi gestire con un se.errore()
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim i As Integer For i = 5 To Sheets.Count With ActiveSheet.Tab If Range("J38").Value = 0 Then .Color = vbRed ElseIf Range("J38").Value < 0 Then .Color = vbYellow ElseIf Range("J38").Value > 0 Then .Color = vbGreen End If End With Next i End Sub
@gianfranco55 ok, ti ringrazio.
questa l'avevo trovata e provata ma, omettendo elself, e non funzionava. in questo caso, al secondo "then" mi da errore e "previsto fine istruzione" e non gira, anche dopo aver corretto la formula in J38.
per intenderci fino al cambio colore in rosso è tutto liscio, dopo si blocca, ed è quello che ha bloccato me perchè non so' andare oltre
ciao
a me funziona
dal foglio 3 all'11
ho sistemato la formula in J38
gli altri no
@gianfranco55 ok funziona, ho dovuto copiare e incollare il tuo codice, altrimenti non funzionava. Ma se cella è vuota, dopo aver cambiato il valore della formula con "se.errore(...;""), il colore della linguetta resta giallo come se avessi ecceduto nel carico del materiale, si può ovviare a questo problema...serve soprattutto ad evitare di perdere tempo e andar dritto ai fogli in rosso per verificarli.
Grazie
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim i As Integer For i = 5 To Sheets.Count With ActiveSheet.Tab If Range("J38").Value = "" Then .Color = vbWhite ElseIf Range("J38").Value = 0 Then .Color = vbRed ElseIf Range("J38").Value < 0 Then .Color = vbYellow ElseIf Range("J38").Value > 0 Then .Color = vbGreen End If End With Next i End Sub
@gianfranco55 , ti/Vi ringrazio, funziona alla perfezione
GRAZIE!!!
ciao
bene
se hai risolto gentilmente chiudi la discussione