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:
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
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/
"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
