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

Kako spremeniti barvo zavihka lista na podlagi vrednosti celice?

Običajno lahko v Excelu enostavno in hitro spremenite barvo zavihka, vendar, ali ste kdaj poskusili spremeniti barvo zavihka glede na vrednost celice na delovnem listu? Če vas ta naloga zanima, bom spregovoril o nekaterih kodah, s katerimi boste zavihek lista obarvali glede na določeno vrednost celice v Excelu.

S kodo VBA spremenite barvo zavihka enega lista glede na vrednost celice

Spremenite zavihke več listov glede na vrednost celice s kodo VBA


puščica modri desni mehurček S kodo VBA spremenite barvo zavihka enega lista glede na vrednost celice

Na primer, želim, da je trenutna barva zavihka lista zelena, če je vrednost celice v A1 besedilo "TRUE", barva zavihka bo rdeča, če je besedilo v A1 "FALSE", barva zavihka pa modra, če vrednost v celici A1 je katero koli drugo besedilo, kot je prikazano na sliki spodaj:

doc barvni list po vrednosti 1

1. Z desno miškino tipko kliknite zavihek lista, za katerega želite spremeniti barvo na podlagi podatkov v celici A1, in nato izberite Ogled kode iz kontekstnega menija.

2. v Microsoft Visual Basic za aplikacije okno, kopirajte in prilepite spodnjo kodo VBA v Moduli okno.

Koda VBA: Spremenite barvo zavihka enega lista glede na vrednost celice:

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 barvni list po vrednosti 2

Opomba: V zgornji kodi je A1 je referenca celice, na katero želite pobarvati zavihek, "True""False"So besedilo, ki ga potrebujete, lahko ga spremenite po potrebi in lahko spremenite barvo kode, kot jo potrebujete.

3. Nato shranite in zaprite to okensko okno. Ko v celico A1 vnesete besedilo »True«, bo trenutna barva zavihka postala zelena, in ko v celico A1 vnesete besedilo »False«, bo barva zavihka postala rdeča, in če v celico A1 vnesemo drugo besedilo, bo barva zavihka samodejno postala modra.


puščica modri desni mehurček Spremenite zavihke več listov glede na vrednost celice s kodo VBA

Če morate spremeniti barvo zavihkov več listov glede na vrednost celice, tukaj je tudi koda, ki vam lahko pomaga, naredite naslednje:

1. Držite tipko ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno, v odprtem oknu dvokliknite Ta delovni zvezek pod VBAProject kopirajte in prilepite spodnjo kodo v prazno Moduli:

Koda VBA: Spremenite zavihke več listov glede na vrednost celice:

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 barvni list po vrednosti 3

Opomba: V zgornji kodi je A1 in Master sta celica in delovni list, na katerih želite pobarvati zavihek, Sheet1, Sheet2, Sheet3 so delovni listi, za katere želite obarvati zavihke. KTE, KTW, WHO so vrednosti celic v A1, na katerih želite obarvati zavihke, lahko spremenite sklice in barve v kodi, kot želite.

2. Nato shranite in zaprite to okensko okno. Ko vnesete besedilo KTE v celico A1 glavnega lista, bo zavihek Sheet1 obarvan rdeče, ko vnesete KTO v celico A1, bo Sheet2 obarvan zeleno in ko če v celico A1 vnesete KTW, bo Sheet3 obarvan v modro, glejte posnetek zaslona:

doc barvni list po vrednosti 4


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (23)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Dragi gospod.
prosim, pomagajte mi, kako spremeniti barvo zavihka lista glede na datum/dan.

za npr.:-
če je list št. 1 nedelja, potem - zavihek lista 'RED'
če je list št. 2 ponedeljek, potem - zavihek lista 'Zelen'
če je list št. 3 torek, potem - zavihek lista 'Zelen'
če je list št. 4 sreda, potem - zavihek lista 'Zelen'
če je list št. 5 četrtek, potem - zavihek lista 'Zelen'
če je list št. 6 petek, potem - zavihek lista 'Zelen'
če je list št. 7 sobota, potem - zavihek lista 'Zelen'

prosim, pomagajte mi glede zgornje težave z excelom.

Hvala in pozdrav
Faiz Ibn Uvaiz P.
Ta komentar je moderator na spletnem mestu minimiziral
Vaš opis je nekoliko nejasen glede tega, kaj pravzaprav poskušate narediti. Če je delovni zvezek le en teden, potem pobarvajte zavihke. Če je trajanje daljše od enega tedna, je rešitev nekoliko bolj zapletena. Dokler ne podrobno opišete težave, je na voljo več rešitev. Jaz in mnogi ljudje ne bomo porabili časa za brezplačno kodiranje 2,000 rešitev za vas. Vendar podrobno opišete težavo, lahko vam ponudimo 1 rešitev.
Ta komentar je moderator na spletnem mestu minimiziral
kako lahko spremenim barvo zavihka glede na vremenske razmere v različnih celicah
Ta komentar je moderator na spletnem mestu minimiziral
Formula deluje za 'True' - zavihek lista je RDEČ, tako da je to super, vendar če spremenim iz 'True' v 'False', želim, da zavihek lista nima 'brez barve'. Kakšna je formula za brez barve na zavihku lista, če ni izbrana možnost »True«? Tudi če želim, da je formula za skupino celic npr. A1:A30 katero kodo uporabljam?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Shannon:
Naslednja koda VBA vam lahko naredi uslugo, poskusite jo:

Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Dim xRg As Range
Nastavi xRg = seči (Cilj, obseg("A1:A30"))
Če xRg ni nič, zapustite Sub
Izberite Ciljna vrednost primera
Primer "True"
Me.Tab.Color = vbRed
Primer "Lažno"
Me.Tab.Color = False
Konec Izberi
End Sub

Upam, da vam to lahko pomaga!
Ta komentar je moderator na spletnem mestu minimiziral
Ali obstaja način, da spremenim barvo zavihka na podlagi naslednjega: Imam glavni zavihek, kjer so vrstice 3–7 obarvane modro in bodo ustrezale ustreznim zavihkom 3–7 (ki so poimenovani na podlagi vrednosti celic v glavnem elementu v tiste vrstice), ki bi jih želel obarvati modro. Nato so vrstice 8-12 obarvane zeleno in ustrezajo tudi zavihkom 8-12 in tako naprej.
Ta komentar je moderator na spletnem mestu minimiziral
To je bil en super trik.
Barvo zavihka sem povezal na podlagi vrednosti celice A1 (<>0 RDEČA in =0 zelena), vendar se makro izvede samo, če izberem A1, pritisnem F2 in nato pritisnem enter. Brez tega bi morala biti barva zavihka (na podlagi njegove vrednosti) recimo rdeča, vendar ostane zelena.
Uporabljam excel 2007.
Ta komentar je moderator na spletnem mestu minimiziral
Ali je mogoče, da to deluje, če ima celica A1 vse 3 odgovore v ločenih vrsticah znotraj celice? To pomeni, da so v celici prisotni KTE, KTO in KTW, saj omogoča več izbir s spustnega seznama.
Ta komentar je moderator na spletnem mestu minimiziral
Poskušam uporabiti to kodo in jo uporabiti v potrditvenem polju, tako da ko potrdim polje, se barva spremeni, če jo počistim, se spremeni nazaj (dobil sem true=zelena, false=rdeča, drugo=rdeča) . Ko pa potrdim in počistim potrditveno polje, se prikaže napaka "potreben je predmet"


Zasebno pod potrditveno polje1_Klik()
_____Če Target.Address = "$e$5" Potem je tukaj napaka
__________Izberite cilj primera.Vrednost
__________ Primer "Lažno"
_______________Me.Tab.Color = vbRed
__________ Primer "True"
_______________Me.Tab.Color = vbGreen
__________ Drugi primer
_______________Me.Tab.Color = vbRed
__________Izberi konec
_____Konec Če
End Sub

Kopiral sem ga in prilepil, da bi videl, da deluje, in ga nato prilagodil svojim potrebam, vendar nisem našel načina, kako bi ga zagnal.
Ta komentar je moderator na spletnem mestu minimiziral
Dragi kolegi,
Prosim za pomoč. Moram spremeniti barvo zavihka lista glede na vrednost v formatu [h]:mm. Na primer, če je vrednost pod 20:00 - rdeča, >20:00 zelena.
Hvala in pozdrav!
Ta komentar je moderator na spletnem mestu minimiziral
Dragi kolegi,
Prosim za pomoč. Moram spremeniti barvo zavihka lista glede na vrednost v formatu [h]:mm. Na primer, če je vrednost pod 20:00 - rdeča, >20:00 zelena.
Hvala in pozdrav!
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Victor,
Spodnja koda VBA lahko reši vašo težavo, poskusite, upam, da vam lahko pomaga!

Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Dim xStr kot niz
Dim xSN kot niz
Dim xDate kot niz
Dim xAddress kot niz
Dim xArr() kot niz
Dim xI1 kot celo število
Dim xSM kot niz
xDate = "20:00"
xAddress = "$A$1"
Če Target.Address <> xAddress, potem Exit Sub
xStr = Target.Besedilo
xArr = Split(xStr, ":")
Če (UBound(xArr) - LBound(xArr) + 1) > 2, potem zapusti sub
xI1 = Int(xArr(0))
Če (Len(xArr(0)) - 2) < 1 Potem
Če je xI1 > 23, potem Zapustite Sub
Else
Exit Sub
Konec Če
xSM = xArr(1)
Ob napaki Pojdi na Err01
Če je (Len(xSM) - 2) <> 0 Potem Zapustite Sub
Če je Int(Left(xSM, 1)) > 5, potem zapusti Sub
Če je Int(Right(xSM, 1)) > 10, potem zapusti Sub
Če je xI1 >= 20 Potem
Me.Tab.Color = vbZelena
Else
Me.Tab.Color = vbRed
Konec Če
Err01:
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Dragi Skyyang,
Oprostite za prepozno povratno informacijo. Ta formula deluje, ko ročno spremenim vrednost v celici. Ampak to ni bilo tisto, kar sem potreboval.
Vrednost celice je rezultat formule iz diferencialnih listov. Na primer, to je formula v celici "O13-'520'!AD3". To pomeni, da se vrednost v tej celici spreminja glede na vrednost odklonske celice v odklonskem listu. Potrebujem, da se barva lista samodejno spremeni, ko se spremeni vrednost v celici "O13-'520'!AD3", ko je vrednost v celici "O13-'520'!AD3" pod 05:00 - rdeča , >20:00 zelena, med 05:00 in 20:00 rjava.
Že vnaprej hvala in lep pozdrav!
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni vsi, kako spremenim barvo zavihka glede na določeno vrednost v stolpcu več listov? Hvala
Ta komentar je moderator na spletnem mestu minimiziral
Kako bi zavihek povezali z vrednostjo na drugem zavihku. V mojem primeru imam en zavihek z vsemi informacijami, ki se samodejno filtrirajo na različne zavihke. Vendar pa bo vsak zavihek pisan zeleno ali rdeče, odvisno od tega, ali je na glavnem zavihku neporavnano stanje. Ali je to mogoče storiti s to kodo in če je tako, kje v tej kodi napišem povezavo do glavnega lista?
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo,

Nikoli prej nisem delal kode v excelu. Potrebujem kodo, ki dela to, kar počne ta koda, vendar potrebujem drug parameter.

Torej, kar potrebujem je:

Če vrednost celice ni 0 in/ali če ima neka druga celica številke v njej z uporabo štetja, spremenite barvo v rdečo

Če je vrednost celice 0 in so te druge celice prazne, uporabite štetje, nato spremenite barvo v zeleno
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, poskusil sem spremeniti barvo zavihka na podlagi vrednosti na ločenem listu z imenom Sledenje tukaj, vendar se zdi, da ne deluje. Hvala




Zasebni poddelovni list_Spremeni (ByVal Target As Range)

'Posodobitev Extendoffice 20160930

Če je Target.Address = "Sledenje!$C$2" Nato

Izberite Ciljna vrednost primera

Primer "ip"

Me.Tab.Color = vbRed

Primer "w"

Me.Tab.Color = vbRumena

Primer "c"

Me.Tab.Color = vbZelena

Drugi primer

Me.Tab.Color = vbBlue

Konec Izberi

Konec Če

End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Brad,
Če želite, da se koda pravilno izvaja, v kodo ne vstavljajte imena lista, uporabite naslednjo kodo: (kliknite ime lista, na katerem želite zagnati to kodo, nato z desno tipko miške kliknite ime lista in izberite Ogled kode, nato prilepite kodo v modul)

Zasebni poddelovni list_Spremeni (ByVal Target As Range)

'Posodobitev Extendoffice 20160930

Če je Target.Address = "$C$2" Potem

Izberite Ciljna vrednost primera

Primer "ip"

Me.Tab.Color = vbRed

Primer "w"

Me.Tab.Color = vbRumena

Primer "c"

Me.Tab.Color = vbZelena

Drugi primer

Me.Tab.Color = vbBlue

Konec Izberi

Konec Če

End Sub

Prosim poskusite, upam, da vam lahko pomaga!
Ta komentar je moderator na spletnem mestu minimiziral
Želim spremeniti barvo zavihka na podlagi enega od dveh rezultatov formule. Imam formulo=IF((AND(AA2="Occupied",AA1="Occupied",AA2="Occupied",AA3=") Zasedeno")),"Zasedeno","Prosto")
Potrebujem, da je zavihek rdeč, če je "Occupied", in zelen, če je "Vacant". Vendar pa zgornja koda v glavni objavi ne prepozna izhoda Če Than
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni,
Potrebujem pomoč
Barvo zavihka lista moram spremeniti samo, če ima v določenem obsegu celic današnji datum
Recimo npr.
V stolpcu L je nekaj datumov v obliki (13-22. maj)
Ena od vrednosti celice je današnji datum, nato naj se barva zavihka spremeni v rdečo
prosim pomoč
Hvala v naprej
Ta komentar je moderator na spletnem mestu minimiziral
Rad bi, da moj zavihek spremeni barvo, če ima katera koli celica v stolpcu O ali stolpcu P vrednost. Je to možno?

Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Barvo zavihka lista želim nastaviti glede na barvo celice j4 na vsakem listu. Obstaja 18+ zavihkov in želite posodobiti barve zavihkov, ko odprete delovni zvezek. Če ob odprtju ne morem posodobiti, lahko zaženem makro, potem ko ekipe posodobijo liste.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, les
Za rešitev vaše težave uporabite spodnjo kodo: (Opombe: Kopirajte in prilepite spodnjo kodo v Ta delovni zvezek kodni način)
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

Prosimo, poskusite, upam, da vam bo pomagalo!
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL