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,
sono nuovo del forum e ho un problema con la formattazione condizionale.
la formula è questa, tuttavia in alcune celle mi evidenzia in grigio (anche se c'è la dicitura "CO", in altre sul giorno non evidenzia in grigio.
non riesco a capire dov'è il problema.
Grazie
=(D$6="D") * (D7<>"CO")* (D7<>"CM")* (D7<>"CS")* (D7<>"104")* (D7<>"Ps")* (D7<>"Es")* (D7<>"GLS") (riempimento grigio)
Valore della cella = a "CO" (riempimento rosso)
excel 2021
ottimo grazie, non ci avevo pensato.
ne approfitto e ti chiedo anche, come mai in alcune celle vuote non mi mete il riempimento grigio sulla domenica.
grazie ancora
ciao
non ho ancora capito il perchè
più tardi lo rivedo per cercare l'inghippo
Ormai ci sono, mi mancano le ultime rifiniture e quindi vi chiedo aiuto.
Nel file che ho allegato, si può notare che ci sono delle righe vuote tra le persone. In realtà servono qualora dovesse aumentare il personale. Detto ciò e dopo aver provato diverse routine vba, non riesco a nasconderle automaticamente.
Grazie
Ciao, io fare così (sempre se il foglio interessato è quello chiamato "PER SETTORE CON TURNI"):
nel foglio "PER SETTORE CON TURNI", le formule in colonna B dovresti modificarle in =SE(Turnazioni!B7="";"";Turnazioni!B7) da B7 fino a B54
Poi nel modulo di classe del Foglio "PER SETTORE CON TURNI", sull'evento Activate scriverei la seguente macro:
Private Sub Worksheet_Activate() Dim dipendente As Range Dim ur As Long Application.ScreenUpdating = False ur = Cells(Rows.Count, "B").End(xlUp).Row - 7 For Each dipendente In Range("B7:B" & ur) dipendente.EntireRow.Hidden = (dipendente.Value = "") Next dipendente Application.ScreenUpdating = True End Sub
Se noti bene, la variabile ur calcola l'ultima riga piena partendo dal basso ma gli ho sottratto -7 righe per scavalcare le ultime 7 che non riguardano i nomi dei dipendenti. Quindi in questo momento si ferma al rigo 54.
L'altra macro che è presente nell'evento Change, presumo sia un tuo tentativo di voler nascondere le righe vuote. Se così fosse devi eliminare quella macro altrimenti va in conflitto con quella da me suggerita.
Adesso come puoi notare, ogni qual volta il foglio è Attivato, parte la macro che va a nascondere eventuali righe vuote.
Quindi dopo che hai fatto tutto ciò su descritto, fai un switch con un altro foglio e poi ritorna in "PER SETTORE CON TURNI"
Un'altra soluzione potrebbe essere quella di utilizzare il Filtro Automatico. Devi però inserire una riga vuota tra la riga numero 6 e la 7. Quindi ti porti sul bordo del rigo 7 e fai tasto destro, Inserisci riga. Questo nuovo rigo serve da intestazione per il Filtro. Una volta creata puoi nasconderla. Quindi tasto destro del mouse sul numero del rigo appena creato e poi Nascondi
Fatto ciò provi questo codice sempre nel Modulo di classe del Foglio "PER SETTORE CON TURNI":
Private Sub Worksheet_Activate() Dim dipendente As Range Dim ur As Long Application.ScreenUpdating = False ur = Cells(Rows.Count, "B").End(xlUp).Row - 7 If AutoFilterMode Then AutoFilterMode = False Range("A7:CR" & ur).AutoFilter Field:=2, Criteria1:="<>", Operator:=xlFilterValues Application.ScreenUpdating = True End Sub
Resta inteso l'operazione della modifica della Formula come esposto nel post precedente =SE(Turnazioni!B7="";"";Turnazioni!B7) da B7 fino a B54
grazie grazie... perfetto