Ho provato il codice che ho trovato su SE e altrove ma non funzionano come penso possano. Li elenco qui sotto. Sono quasi certo che questa è una domanda facile.
Quello che sto cercando di fare: Se in una delle celle dell'intervallo A2: A100 è presente un testo o un numero qualsiasi, quindi rendere la scheda del foglio di lavoro gialla. E avrò bisogno di farlo su oltre 20 schede.
I problemi che ho avuto con altri codici: Per quanto ne so, richiedono la modifica di una cella, e poi premono di nuovo invio. Ho provato MAIUSC + F9 a ricalcolare, ma questo non ha avuto alcun effetto, poiché penso che sia solo per le formule. Il codice 1 sembra funzionare anche se è necessario reinserire manualmente il testo, ma a prescindere dal valore del colore, ottengo sempre un colore di tabulazione nero.
Codice che ho provato:
Codice 1:
Private Sub Worksheet_Change(ByVal Target As Range)
MyVal = Range("A2:A27").Text
With ActiveSheet.Tab
Select Case MyVal
Case ""
.Color = xlColorIndexNone
Case Else
.ColorIndex = 6
End Select
End With
End Sub
Codice 2: Questo è da a StackOverflow domanda, anche se ho modificato leggermente il codice per adattarlo alle mie esigenze. Nello specifico, se nell'intervallo impostato non ci sono valori per lasciare il colore della scheda da solo, e in caso contrario per cambiarlo con il valore del colore 6. Ma sono sicuro di aver fatto qualcosa di sbagliato, non ho familiarità con la codifica VBA.
Private Sub Worksheet_Calculate()
If Range("A2:A100").Text = "" Then
ActiveWorkbook.ActiveSheet.Tab.Color = xlColorIndexNone
Else
ActiveWorkbook.ActiveSheet.Tab.Color = 6
End If
End Sub
Grazie per l'aiuto!
Private Sub Worksheet_Change(ByVal Target As Range)
codice, e ha funzionato solo quando ho modificato manualmente una cella nell'intervallo. Non ha modificato automaticamente il colore della scheda all'apertura della cartella di lavoro. Ho anche provato il tuo secondo suggerimento, ma i miei risultati erano gli stessi del primo.