Note: The other languages of the website are Google-translated. Back to English

Hur ändrar jag arkflikens färg baserat på cellvärdet?

Normalt kan du ändra flikfärgen enkelt och snabbt i Excel, men har du någonsin försökt ändra flikfärgen baserat på cellvärdet i ett kalkylblad? Om du är intresserad av den här uppgiften kommer jag att prata om några koder som du kan färga arkfliken baserat på ett specifikt cellvärde i Excel.

Ändra en arkfärgsfärg baserat på cellvärde med VBA-kod

Ändra flera arkflikar baserat på cellvärde med VBA-kod


pil blå höger bubbla Ändra en arkfärgsfärg baserat på cellvärde med VBA-kod

Jag vill till exempel att den aktuella flikfärgen på arket ska vara grön om cellvärdet i A1 är texten "SANT", flikfärgen blir röd om texten i A1 är "FALSK" och flikfärgen blir blå om värdet i cell A1 är någon annan text som följande skärmdump visas:

doc färgark efter värde 1

1. Högerklicka på arkfliken som du vill ändra färg baserat på data i cell A1 och välj sedan Visa kod från snabbmenyn.

2. I Microsoft Visual Basic för applikationer , kopiera och klistra in nedanstående VBA-kod i Modulerna fönster.

VBA-kod: Ändra en arkflikfärg baserat på cellvärde:

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

doc färgark efter värde 2

Notera: I ovanstående kod, A1 är cellreferensen som du vill färga fliken baserat på, “Sant","Falsk”Är texten du behöver, du kan ändra dem till ditt behov och du kan ändra färgen i koden som du behöver.

3. Spara och stäng sedan det här kodfönstret, nu när du anger texten "True" i cell A1 blir den aktuella flikfärgen grön och när du anger texten "False" i cell A1 blir flikfärgen röd, och om annan text matas in i cellen A1 blir flikfärgen automatiskt blå.


pil blå höger bubbla Ändra flera arkflikar baserat på cellvärde med VBA-kod

Om du behöver ändra flera arkflikfärger baserat på ett cellvärde, här är också en kod som kan hjälpa dig, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer dubbelklicka i det öppnade fönstret Denna arbetsbok under VBAProjekt kopiera och klistra sedan in koden nedan i tomt Modulerna:

VBA-kod: Ändra flera arkflikar baserat på cellvärde:

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

doc färgark efter värde 3

Notera: I ovanstående kod, A1 och Master är cellen och kalkylbladet som du vill färga fliken baserat på, Sheet1, Sheet2, Sheet3 är de kalkylblad som du vill färga flikarna. KTE, Ktw, KTO är cellvärdena i A1 som du vill färga flikarna baserat på, kan du ändra referenser och färger i koden efter behov.

2. Spara och stäng sedan det här kodfönstret, nu när du anger texten KTE i cell A1 i huvudarket, kommer fliken Blad1 att färgas i rött, när du anger KTO i cellen A1, kommer Blad2 att färgas i grönt och när du anger KTW i cell A1, kommer Sheet3 att färgas i blått, se skärmdump:

doc färgark efter värde 4


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (23)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Dear Sir.
vänligen hjälp mig att ändra färgen på arkfliken baserat på datum/dag.

till exempel:-
om blad nr 1 är söndag då - arkfliken 'RED'
om blad nr 2 är måndag då - arkfliken 'Grön'
om blad nr 3 är tisdag då - arkfliken 'Grön'
om blad nr 4 är onsdag då - arkfliken 'Grön'
om blad nr 5 är torsdag då - arkfliken 'Grön'
om blad nr 6 är fredag ​​då - arkfliken 'Grön'
om blad nr 7 är lördag då - arkfliken 'Grön'

vänligen hjälp mig för ovanstående excel-fråga.

Tack och hälsningar
Faiz Ibn Uvaiz P.
Denna kommentar minimerades av moderatoren på webbplatsen
Din beskrivning är lite vag när det gäller vad du faktiskt försöker göra. Om arbetsboken bara är för en vecka, färglägg sedan flikarna. Om varaktigheten är längre än en vecka är lösningen lite mer komplex. Tills du detaljerat problemet finns det flera lösningar som är tillgängliga. Jag, och många människor, kommer inte att lägga vår tid på att koda 2,000 1 lösningar åt dig gratis. Men du beskriver problemet, vi kan ge en lösning.
Denna kommentar minimerades av moderatoren på webbplatsen
hur kan jag ändra en flikfärg beroende på väder en rad celler har text i sig
Denna kommentar minimerades av moderatoren på webbplatsen
Formeln fungerar för "True" - arkfliken är RÖD, så det är bra, men om jag ändrar den från "True" till "False" vill jag att arkfliken ska ha "ingen färg". Vad är formeln för ingen färg på arkfliken om "True" inte är markerat? Även om jag vill att formeln ska vara för en grupp av celler, t.ex. A1:A30 vad är koden jag använder?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Shannon:
Följande VBA-kod kan göra dig en tjänst, prova den:

Privata delarkivsförändring (ByVal-mål som område)
Dim xRg As Range
Set xRg = Intersect(Target, Range("A1:A30"))
Om xRg är ingenting, avsluta Sub
Välj Målmålvärde
Fall "True"
Me.Tab.Color = vbRed
Fall "False"
Me.Tab.Color = Falskt
Avsluta Välj
End Sub

Hoppas detta kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det något sätt att få flikfärgen att ändras baserat på följande: Jag har en huvudflik där raderna 3-7 är färgade blå och kommer att motsvara motsvarande flikar 3-7 (som är namngivna baserat på cellvärden i mastern i dessa rader) som jag skulle vilja ha färgade blå. Då färgas raderna 8-12 gröna och motsvarar även flikarna 8-12 och så vidare.
Denna kommentar minimerades av moderatoren på webbplatsen
Det var ett fantastiskt trick.
Jag länkade flikfärgen baserat på värdet för cell A1 (<>0 RÖD och =0 Grön), men makrot körs endast om jag väljer A1, trycker på F2 och sedan trycker på enter. Utan att göra detta även om färgen på fliken (baserat på dess värde) bör vara , säg Röd, men förblir grön.
Jag använder excel 2007.
Denna kommentar minimerades av moderatoren på webbplatsen
Är det möjligt att få detta att fungera när cell A1 kan ha alla tre svaren på separata rader i cellen? Det vill säga KTE, KTO och KTW finns alla i cellen eftersom det tillåter flera val från en rullgardinslista.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag försöker använda den koden och tillämpa den på en kryssruta, så när jag markerar rutan ändras färgen, om jag avmarkerar den ändras den tillbaka (jag fick true=grön, falsk=röd, annat=röd) . Men när jag markerar och avmarkerar får det ett felmeddelande "objekt behövs"


Privat Sub CheckBox1_Click ()
_____If Target.Address = "$e$5" Då 'fel här
__________Välj Case Target.Value
__________ Fall "False"
_______________Me.Tab.Color = vbRed
__________ Fall "Sant"
_______________Me.Tab.Color = vbGrön
__________ Andra fall
_______________Me.Tab.Color = vbRed
__________ Slutval
_____Avsluta om
End Sub

Jag kopierade och klistrade in det för att se det köra och anpassade det sedan efter mitt behov men jag kunde inte hitta ett sätt att få det att köra.
Denna kommentar minimerades av moderatoren på webbplatsen
Kära kolleger,
Be vänligen om hjälp. Jag behöver ändra färgen på arkfliken baserat på värdet i formatet [h]:mm. Till exempel om värdet är under 20:00 - rött, >20:00 grönt.
Tack och hälsningar!
Denna kommentar minimerades av moderatoren på webbplatsen
Kära kolleger,
Be vänligen om hjälp. Jag behöver ändra färgen på arkfliken baserat på värdet i formatet [h]:mm. Till exempel om värdet är under 20:00 - rött, >20:00 grönt.
Tack och hälsningar!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Victor,
VBA-koden nedan kan lösa ditt problem, försök, hoppas det kan hjälpa dig!

Privata delarkivsförändring (ByVal-mål som område)
Dim xStr As String
Dim xSN som sträng
Dim xDatum som sträng
Dim xAddress As String
Dim xArr() Som sträng
Dim xI1 Som heltal
Dim xSM As String
xDatum = "20:00"
xAddress = "$A$1"
Om Target.Address <> xAddress Avsluta Sub
xStr = Target.Text
xArr = Split(xStr, ":")
Om (UBound(xArr) - LBound(xArr) + 1) > 2 Avsluta Sub
xI1 = Int(xArr(0))
If (Len(xArr(0)) - 2) < 1 Då
Om xI1 > 23 Avsluta Sub
annars
Exit Sub
End If
xSM = xArr(1)
Vid fel GoTo Err01
Om (Len(xSM) - 2) <> 0 Avsluta Sub
Om Int(Left(xSM, 1)) > 5 Avsluta Sub
Om Int(Right(xSM, 1)) > 10 Avsluta Sub
Om xI1 >= 20 Då
Me.Tab.Color = vbGrön
annars
Me.Tab.Color = vbRed
End If
Err01:
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Kära Skyyang,
Ursäkta för sen feedback. Den här formeln fungerar när jag manuellt ändrar värdet i cellen. Men det var inte vad jag behövde.
Cellvärdet är resultatet av en formel från differensblad. Detta är till exempel formeln i cellen "O13-'520'!AD3". Detta betyder att värdet i den här cellen ändras beroende på värdet för den avledande cellen i det avledande arket. Det jag behöver är att arkfärgen ändras automatiskt när värdet i cellen "O13-'520'!AD3" ändras, när värdet i cellen "O13-'520'!AD3" är under 05:00 - rött , >20:00 grön, mellan 05:00 och 20:00 brun.
Tack på förhand och vänliga hälsningar!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej allihop, hur ändrar jag färg på flikar baserat på ett visst värde i kolumnen för flera ark? Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Hur skulle du länka fliken till ett värde på en annan flik. I mitt exempel har jag en flik med all information som filtreras bort till olika flikar automatiskt. Men varje flik kommer att läsa grönt eller rött, beroende på om det finns ett utestående saldo på huvudfliken. Kan detta göras med den här koden och i så fall, var skriver jag länken till huvudarket i denna kod?
Denna kommentar minimerades av moderatoren på webbplatsen
Hallå,

Aldrig gjort kod i excel tidigare. Jag behöver en kod som gör vad den här koden gör, men jag behöver en annan parameter.

Så det jag behöver är:

Om cellvärdet inte är 0, och/eller om någon annan cell har siffror i den, använd count, ändra färg till röd

Om cellvärdet är 0 och de andra cellerna är tomma, använd count, ändra färg till grönt
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Försöker ändra flikfärg baserat på värde på ett separat ark som heter Spårning här är vad jag försökte men det verkar inte fungera. Tack




Privata delarkivsförändring (ByVal-mål som område)

'Uppdatering av Extendoffice 20160930

Om Target.Address = "Spårning!$C$2" Då

Välj Målmålvärde

Fall "ip"

Me.Tab.Color = vbRed

Fall "w"

Me.Tab.Color = vbYellow

Fall "c"

Me.Tab.Color = vbGrön

Case Else

Me.Tab.Color = vbBlue

Avsluta Välj

End If

End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Brad,
För att få koden att köras korrekt bör du inte infoga arknamnet i koden, använd följande kod:(klicka på arknamnet du vill köra den här koden och högerklicka sedan på arknamnet och välj Visa kod, sedan klistra in koden i modulen)

Privata delarkivsförändring (ByVal-mål som område)

'Uppdatering av Extendoffice 20160930

Om Target.Address = "$C$2" Då

Välj Målmålvärde

Fall "ip"

Me.Tab.Color = vbRed

Fall "w"

Me.Tab.Color = vbYellow

Fall "c"

Me.Tab.Color = vbGrön

Case Else

Me.Tab.Color = vbBlue

Avsluta Välj

End If

End Sub

Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill ändra till färgen på fliken baserat på ett av två utfall av en formel Jag har formeln=OM((OCH(AA2="Occupied",AA1="Occupied",AA2="Occupied",AA3=" Occupied")),"Occupied","Ledig")
Jag vill att fliken ska vara röd om "Occupied" och grön om "Vacant". Men koden ovan i huvudinlägget känner inte igen utdata från If Than
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Jag behöver lite hjälp
Jag behöver bara ändra färgen på arkfliken om det finns dagens datum i ett visst cellintervall
Säg till exempel
Kolumn L har några datum i formatet (13-22 maj)
Ett av cellvärdena är dagens datum, då bör flikarkets färg ändras till röd
Snälla hjälp
Tack på förhand
Denna kommentar minimerades av moderatoren på webbplatsen
Jag skulle vilja att min flik ändrar färg om någon cell i kolumn O eller kolumn P har ett värde i sig. Är detta möjligt?

Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill ställa in arkflikens färg baserat på färgen på cell j4 i varje ark. Det finns 18+ flikar och vill uppdatera flikfärgerna när arbetsboken öppnas. Om jag inte kan uppdatera när den öppnas kan jag köra makrot efter att teamen har uppdaterat arken.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, trä
För att lösa ditt problem, använd koden nedan: (Anmärkningar: Kopiera och klistra in koden nedan i Denna arbetsbok kodläge)
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

Gör ett försök, hoppas det kan hjälpa dig!
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL