Note: The other languages of the website are Google-translated. Back to English
English English
  • Documenti
  • Excel
  • Come cambiare il colore della scheda del foglio in base al valore della cella?

Come cambiare il colore della scheda del foglio in base al valore della cella?

Normalmente, puoi cambiare il colore della scheda facilmente e rapidamente in Excel, ma hai mai provato a cambiare il colore della scheda in base al valore della cella in un foglio di lavoro? Se sei interessato a questa attività, parlerò di alcuni codici per colorare la scheda del foglio in base a un valore di cella specifico in Excel.

Cambia il colore della scheda di un foglio in base al valore della cella con il codice VBA

Modifica più schede di fogli in base al valore della cella con codice VBA


freccia blu freccia destra Cambia il colore della scheda di un foglio in base al valore della cella con il codice VBA

Ad esempio, voglio che il colore della scheda del foglio corrente sia verde se il valore della cella in A1 è il testo "VERO", il colore della scheda sarà rosso se il testo in A1 è "FALSO" e il colore della scheda sarà blu se il valore nella cella A1 è qualsiasi altro testo come mostrato nella seguente schermata:

foglio colore doc per valore 1

1. Fare clic con il pulsante destro del mouse sulla scheda del foglio di cui si desidera modificare il colore in base ai dati nella cella A1, quindi scegliere Visualizza codice dal menu di scelta rapida.

2. Nel Microsoft Visual Basic, Applications Edition finestra, copia e incolla il codice VBA sottostante nel file Modulo finestra.

Codice VBA: cambia il colore della scheda di un foglio in base al valore della cella:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    If Target.Address = "$A$1" Then
        Select Case Target.Value
        Case "False"
            Me.Tab.Color = vbRed
        Case "True"
            Me.Tab.Color = vbGreen
        Case Else
            Me.Tab.Color = vbBlue
        End Select
    End If
End Sub

foglio colore doc per valore 2

NOTA: Nel codice sopra, A1 è il riferimento di cella a cui vuoi colorare la scheda in base a "I veri","Falso"Sono il testo di cui hai bisogno, puoi cambiarli secondo le tue necessità e puoi cambiare il colore nel codice di cui hai bisogno.

3. Quindi salva e chiudi questa finestra di codice, ora, quando inserisci il testo "Vero" nella cella A1, il colore della scheda corrente diventerà verde e quando inserisci il testo "Falso" nella cella A1, il colore della scheda diventerà rosso, e se altro testo viene inserito nella cella A1, il colore della scheda diventerà blu automaticamente.


freccia blu freccia destra Modifica più schede di fogli in base al valore della cella con codice VBA

Se è necessario modificare il colore di più schede del foglio in base al valore di una cella, ecco anche un codice che può aiutarti, per favore fai come segue:

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra, nella finestra aperta, fare doppio clic Questa cartella di lavoro sotto il Progetto VBA sezione, quindi copia e incolla il codice seguente nello spazio vuoto Modulo:

Codice VBA: modifica più schede di fogli in base al valore della cella:

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  'Updateby Extendoffice 20160930
  Select Case Sheets("Master").Range("A1").Value
         Case "KTE"
             Sheets("Sheet1").Tab.Color = vbRed
         Case "KTO"
             Sheets("Sheet2").Tab.Color = vbGreen
         Case "KTW"
             Sheets("Sheet3").Tab.Color = vbBlue
         End Select
End Sub

foglio colore doc per valore 3

NOTA: Nel codice sopra, A1 e Master sono la cella e il foglio di lavoro su cui si desidera colorare la scheda, Sheet1, Sheet2, Sheet3 sono i fogli di lavoro che vuoi colorare le schede. KTE, KTW, KTO sono i valori delle celle in A1 su cui vuoi colorare le schede in base, puoi modificare i riferimenti ei colori nel codice di cui hai bisogno.

2. Quindi salva e chiudi questa finestra del codice, ora, quando inserisci il testo KTE nella cella A1 del foglio principale, la scheda Foglio1 sarà colorata in rosso, quando inserisci KTO nella cella A1, il Foglio2 sarà colorato in verde, e quando inserisci KTW nella cella A1, il Foglio3 sarà colorato in blu, vedi screenshot:

foglio colore doc per valore 4


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
Commenti (23)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Caro Signore.
gentilmente aiutami a cambiare il colore della scheda del foglio in base alla data/giorno.

per esempio:-
se il foglio n. 1 è domenica, allora - scheda del foglio 'ROSSO'
se il foglio n. 2 è lunedì, allora - scheda del foglio 'Verde'
se il foglio n. 3 è martedì, allora - scheda del foglio 'Verde'
se il foglio n. 4 è mercoledì, allora - scheda del foglio 'Verde'
se il foglio n. 5 è giovedì, allora - scheda del foglio "Verde"
se il foglio n. 6 è venerdì, allora - scheda del foglio "Verde"
se il foglio n. 7 è sabato, allora - scheda del foglio 'Verde'

gentilmente aiutami per il problema excel di cui sopra.

Grazie e saluti
Faiz Ibn Uvaiz P.
Questo commento è stato fatto dal moderatore sul sito
La tua descrizione è un po' vaga su ciò che stai effettivamente cercando di fare. Se la cartella di lavoro è solo per una settimana, colora le schede. Se la durata è superiore a una settimana, la soluzione è un po' più complessa. Fino a quando non descrivi in ​​dettaglio il problema, sono disponibili diverse soluzioni. Io e molte persone non passeremo il nostro tempo a programmare gratuitamente 2,000 soluzioni per te. Ma dettagli il problema che potremmo fornire 1 soluzione.
Questo commento è stato fatto dal moderatore sul sito
come posso cambiare il colore di una scheda a seconda del tempo in un intervallo di celle contiene del testo
Questo commento è stato fatto dal moderatore sul sito
La formula funziona per "Vero" - la scheda del foglio è ROSSA, quindi è fantastico, ma se la cambio da "Vero" a "Falso" voglio che la scheda del foglio non abbia "nessun colore". Qual è la formula per nessun colore nella scheda del foglio se "Vero" non è selezionato? Inoltre, se voglio che la formula sia per un gruppo di celle, ad es. A1:A30 qual è il codice che utilizzo?
Questo commento è stato fatto dal moderatore sul sito
Ciao, Shannon:
Il seguente codice VBA potrebbe farti un favore, provalo:

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg come intervallo
Imposta xRg = Interseca(Target, Intervallo("A1:A30"))
Se xRg non è niente, esci da Sub
Selezionare Caso.Valore
Caso "vero"
Me.Tab.Color = vbRed
Caso "falso"
Me.Tab.Color = Falso
End Select
End Sub

Spero che questo possa aiutarti!
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per far cambiare il colore della scheda in base a quanto segue: Ho una scheda principale in cui le righe 3-7 sono colorate di blu e corrisponderanno alle schede corrispondenti 3-7 (che sono denominate in base ai valori delle celle nel master in quelle righe) che vorrei colorate di blu. Quindi i ferri 8-12 sono colorati di verde e corrispondono anche alle schede 8-12 e così via.
Questo commento è stato fatto dal moderatore sul sito
È stato un trucco fantastico.
Ho collegato il colore della scheda in base al valore della cella A1 (<>0 RED e =0 Green), tuttavia, la macro viene eseguita solo se seleziono A1 , premo F2 e quindi premo invio. Senza farlo, anche se il colore della scheda (in base al suo valore) dovrebbe essere , diciamo Rosso, ma rimane verde.
Sto usando excel 2007.
Questo commento è stato fatto dal moderatore sul sito
È possibile farlo funzionare quando la cella A1 può avere tutte e 3 le risposte su righe separate all'interno della cella? Cioè KTE, KTO e KTW sono tutti presenti nella cella in quanto consente selezioni multiple da un elenco a discesa.
Questo commento è stato fatto dal moderatore sul sito
Sto cercando di usare quel codice e applicarlo a una casella di controllo, quindi quando segno la casella, il colore cambia, se lo deseleziono, torna indietro (ho true=green, false=red ,else=red) . Ma quando seleziono e deselezionano viene generato un errore "oggetto necessario"


CheckBox secondario privato1_Click()
_____Se Target.Address = "$e$5" Allora 'errore qui
__________Selezionare Caso Target.Value
__________Caso "Falso"
_______________Me.Tab.Color = vbRed
__________Caso "Vero"
_______________Me.Tab.Color = vbGreen
__________Caso Altro
_______________Me.Tab.Color = vbRed
__________Fine Seleziona
_____Finisci se
End Sub

L'ho copiato e incollato per vederlo funzionare e quindi adattarlo alle mie necessità, ma non avrei trovato un modo per farlo funzionare.
Questo commento è stato fatto dal moderatore sul sito
Cari colleghi,
Si prega di chiedere aiuto. Ho bisogno di cambiare il colore della scheda del foglio in base al valore nel formato [h]:mm. Ad esempio, se il valore è inferiore a 20:00 - rosso, >20:00 verde.
Grazie e saluti!
Questo commento è stato fatto dal moderatore sul sito
Cari colleghi,
Si prega di chiedere aiuto. Ho bisogno di cambiare il colore della scheda del foglio in base al valore nel formato [h]:mm. Ad esempio, se il valore è inferiore a 20:00 - rosso, >20:00 verde.
Grazie e saluti!
Questo commento è stato fatto dal moderatore sul sito
Ciao, Vittorio,
Il codice VBA sottostante può risolvere il tuo problema, per favore prova, spero che possa aiutarti!

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xStr come stringa
Dim xSN come stringa
Dim xDate come stringa
Dim xAddress come stringa
Dim xArr() come stringa
Dim xI1 come intero
Dim xSM come stringa
xData = "20:00"
xIndirizzo = "$A$1"
Se Target.Address <> xAddress quindi esci da Sub
xStr = Target.Text
xArr = Dividi(xStr, ":")
Se (UBound(xArr) - LBound(xArr) + 1) > 2 Quindi esci da Sub
xI1 = Int(xArr(0))
Se (Len(xArr(0)) - 2) < 1 Allora
Se xI1 > 23 Quindi esci da Sub
Altro
Exit Sub
End If
xSM = xArr(1)
In caso di errore Vai a Err01
Se (Len(xSM) - 2) <> 0 Quindi Esci da Sub
Se Int(Left(xSM, 1)) > 5 Quindi Esci da Sub
Se Int(Right(xSM, 1)) > 10 Quindi Esci da Sub
Se xI1 >= 20 Allora
Me.Tab.Color = vbGreen
Altro
Me.Tab.Color = vbRed
End If
Err01:
End Sub
Questo commento è stato fatto dal moderatore sul sito
Caro Skyyang,
Ci scusiamo per il feedback troppo tardivo. Questa formula funziona quando cambio manualmente il valore nella cella. Ma non era quello di cui avevo bisogno.
Il valore della cella è il risultato di una formula dai fogli delle differenze. Ad esempio, questa è la formula nella cella "O13-'520'!AD3". Ciò significa che il valore in questa cella cambia in base al valore della cella differita nel foglio differito. Ciò di cui ho bisogno è che il colore del foglio venga modificato automaticamente quando il valore nella cella "O13-'520'!AD3" viene modificato, quando il valore nella cella "O13-'520'!AD3" è inferiore a 05:00 - rosso , >20:00 verde, tra le 05:00 e le 20:00 marrone.
Grazie in anticipo e cordiali saluti!
Questo commento è stato fatto dal moderatore sul sito
Ciao a tutti, come faccio a cambiare il colore della scheda in base a un determinato valore nella colonna dei fogli multipli? Grazie
Questo commento è stato fatto dal moderatore sul sito
Come collegheresti la scheda a un valore in una scheda diversa. Nel mio esempio ho una scheda con tutte le informazioni che vengono filtrate automaticamente in varie schede. Tuttavia, ciascuna scheda sarà verde o rossa, a seconda che sia presente un saldo in sospeso nella scheda principale. È possibile farlo utilizzando questo codice e, in tal caso, dove scrivo il collegamento al foglio principale all'interno di questo codice?
Questo commento è stato fatto dal moderatore sul sito
Ciao,

Codice mai fatto in Excel prima. Ho bisogno di un codice che faccia quello che fa questo codice, ma ho bisogno di un altro parametro.

Quindi quello che mi serve è:

Se il valore della cella non è 0 e/o se qualche altra cella contiene numeri, usando il conteggio, cambia il colore in rosso

Se il valore della cella è 0 e quelle altre celle sono vuote, usando il conteggio, cambia il colore in verde
Questo commento è stato fatto dal moderatore sul sito
Ciao, Provare a cambiare il colore della scheda in base al valore su un foglio separato chiamato Tracking qui è quello che ho provato ma non sembra funzionare. Grazie




Private Sub Worksheet_Change (ByVal Target As Range)

'Aggiorna entro Extendoffice 20160930

Se Target.Address = "Tracciamento!$C$2" Allora

Selezionare Caso.Valore

Caso "ip"

Me.Tab.Color = vbRed

Caso "w"

Me.Tab.Color = vbYellow

Caso "c"

Me.Tab.Color = vbGreen

Case Else

Me.Tab.Color = vbBlue

End Select

End If

End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao, Brad,
Per eseguire correttamente il codice, non è necessario inserire il nome del foglio nel codice, si prega di inserire il codice seguente: (fare clic sul nome del foglio su cui si desidera eseguire questo codice, quindi fare clic con il pulsante destro del mouse sul nome del foglio e scegliere Visualizza codice, quindi incolla il codice nel modulo)

Private Sub Worksheet_Change (ByVal Target As Range)

'Aggiorna entro Extendoffice 20160930

Se Target.Address = "$C$2" Allora

Selezionare Caso.Valore

Caso "ip"

Me.Tab.Color = vbRed

Caso "w"

Me.Tab.Color = vbYellow

Caso "c"

Me.Tab.Color = vbGreen

Case Else

Me.Tab.Color = vbBlue

End Select

End If

End Sub

Per favore, prova, spero che possa aiutarti!
Questo commento è stato fatto dal moderatore sul sito
Sto cercando di cambiare il colore della scheda in base a uno dei 2 risultati di una formula Ho una formula di=IF((AND(AA1="Occupied",AA2="Occupied",AA3="Occupied",AA4=" Occupato")),"Occupato","Vacante")
Ho bisogno che la scheda sia rossa se "Occupata" e verde se "Vacante". Tuttavia il codice sopra nel post principale non riconosce l'output di If Than
Questo commento è stato fatto dal moderatore sul sito
Ciao ,
Ho bisogno di aiuto
Devo cambiare il colore della scheda del foglio solo se in un determinato intervallo di celle ha la data odierna
Diciamo per esempio,
La colonna L ha alcune date nel formato (13-maggio-22)
Uno dei valori della cella è la data odierna, quindi il colore della scheda dovrebbe diventare rosso
Per favore aiuto
Grazie in anticipo
Questo commento è stato fatto dal moderatore sul sito
Vorrei che la mia scheda cambiasse colore se una qualsiasi cella nella colonna O o nella colonna P contiene un valore. È possibile?

.
Questo commento è stato fatto dal moderatore sul sito
Voglio impostare il colore della scheda del foglio in base al colore della cella j4 in ogni foglio. Sono disponibili oltre 18 schede e si desidera aggiornare i colori delle schede all'apertura della cartella di lavoro. Se non riesco ad aggiornare una volta aperto, posso eseguire la macro dopo che i team hanno aggiornato i fogli.
Questo commento è stato fatto dal moderatore sul sito
Ciao, legno
Per risolvere il tuo problema, applica il codice seguente: (Note:: Copia e incolla il codice seguente nel file Questa cartella di lavoro modalità codice)
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Call SetSheetColor
End Sub

Private Sub Workbook_Open()
Call SetSheetColor
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Call SetSheetColor
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call SetSheetColor
End Sub

Sub SetSheetColor()
Dim xWShs As Sheets
Dim xRg As Range
Dim xFNum As Integer
Dim xSh As Worksheet
On Error Resume Next
Set xWShs = Application.ActiveWorkbook.Sheets
For xFNum = 1 To xWShs.Count
    Set xSh = xWShs.Item(xFNum)
    Set xRg = xSh.Range("J4")
    xSh.Tab.Color = xRg.Interior.Color
Next
End Sub


https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-color-sheet.png

Per favore, prova, spero che possa aiutarti!
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL