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, ho provato il codice, funziona, ma praticamente mi rallenta in ciò che vorrei...alcuni file sono con molti fogli e, invece, di aggiornare la colorazione in automatico, cioè ogni volta che cambio lo stato in "quaderno" dove aggiorno lo stato delle pratiche, devo cliccare su ogni foglio per attivare il cambio colore....vorrei che cambiasse in automatico mentre lavoro sul foglio quaderno. Lo so, chiedo la luna.
Grazie
Perdonami, ho notato ora, non ci capisco molto di codici, praticamente hai detto alla macro di verificare cosa c'è scritto nella riga H2 e cambiare il colore in base al "valore".
Non è cosi che vorrei che funzionasse. In quaderno h1 (per esempio) cambio lo stato della pratica, lo stesso è ricopiato nel foglio di riferimento nella cella P1, è quello che compare qui che deve far variare il colore della targhetta. I fogli cambieranno nome a seconda della stanza verificata...è tutto un concatenarsi di dati, non conoscendo le macro, ho cercato di portare il file a lavorare come voglio io, mi manca solo questo passaggio per accelerare i tempi. Ti ringrazio per la pazienza
@gnaffo mancini
capisco che siamo d'estate e c'era il weekend di mezzo ma se ricevo una risposta dopo 2/3 giorni con richiesta di modifiche, generalmente abbandono... non per cattiveria, ma non rispondo solo in questo forum e passato un pò di tempo dovrei riandare a controllare il codice scritto per ricordare quale sia lo scopo.
Sperando di aver capito stavolta, nel modulo di classe del foglio QUADERNO:
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim LCol As Long Dim DestSh As Worksheet Dim StatusRng As Range Dim SingleCell As Range Dim ActStatus As Variant Dim CheckSh As Boolean LCol = Cells(2, Columns.Count).End(xlToLeft).Column If LCol >= Range("H1").Column Then Set StatusRng = Range(Range("H1"), Cells(1, LCol)) If Not Intersect(Target, StatusRng) Is Nothing Then For Each SingleCell In Target If SingleCell.Row = 1 Then CheckSh = ThisWorkbook.Sheets.Count >= (4 + SingleCell.Column - Range("H1").Column) If CheckSh Then Set DestSh = ThisWorkbook.Sheets(4 + SingleCell.Column - Range("H1").Column) ActStatus = UCase(SingleCell.Value) With DestSh .Range("P1").Value = ActStatus With .Tab Select Case ActStatus Case "VERIFICARE" .ColorIndex = 3 'vbRed Case "IN FIRMA" .ColorIndex = 6 'vbYellow Case "CONCLUSA" .ColorIndex = 4 'vbGreen Case "STANZA VUOTA" .ColorIndex = 16 'vbgrey Case Else .ColorIndex = 2 'vbWhite End Select End With End With CheckSh = False End If End If Next SingleCell End If End If End Sub
file:
Ti ringrazio, è quello che cercavo, scusa per il disturbo, hai ragione è estate e c'è stato il w.e. di mezzo ma, con impegni più importanti e gravi da seguire.
Grazie ancora
è quello che cercavo
se hai risolto, segna la discussione come tale.
Se non sai come fare, leggi qui:
https://www.excelacademy.it/supporto/regolamento-e-informazioni-utili/segnare-la-propria-discussione-come-risolta/