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

Hogyan lehet megváltoztatni a lap fülének színét a cella értéke alapján?

Normál esetben az tabulátor színét könnyen és gyorsan megváltoztathatja az Excel programban, de megpróbálta már megváltoztatni a tabulátor színét a munkalap cellájának értéke alapján? Ha érdekel ez a feladat, akkor beszélek néhány kódról, amelyekkel kiszínezheti a lapfület az Excel adott cellájának értéke alapján.

Változtassa meg az egyik lap fülének színét a cella értéke alapján, VBA kóddal

VBA kóddal több cellalapot módosíthat a cellaérték alapján


nyíl kék jobb buborék Változtassa meg az egyik lap fülének színét a cella értéke alapján, VBA kóddal

Például azt akarom, hogy az aktuális lapfül színe zöld legyen, ha az A1 cellájának értéke „IGAZ”, a tabulátor színe piros lesz, ha az A1 szövege „HAMIS”, és a fül színe kék lesz, ha az A1 cella értéke bármely más szöveg, a következő képernyőképen:

doc színes lap 1. érték szerint

1. Kattintson a jobb gombbal azon a lapfülön, amelynek a színét az A1 cellában szereplő adatok alapján szeretné megváltoztatni, majd válassza a lehetőséget Kód megtekintése a helyi menüből.

2. Az Microsoft Visual Basic for Applications ablakba másolja és illessze be az alábbi VBA kódot a Modulok ablak.

VBA kód: Az egyik lap fülének módosítása a cella értéke alapján:

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 színes lap 2. érték szerint

Jegyzet: A fenti kódban A1 az a cellahivatkozás, amely alapján a lapot színezni szeretné,Igaz","Hamis”Az a szöveg, amelyre szüksége van, megváltoztathatja azokat az igényeinek megfelelően, és szükség szerint megváltoztathatja a kód színét.

3. Ezután mentse el és zárja be ezt a kódablakot. Most, amikor beírja az „Igaz” szöveget az A1 cellába, az aktuális fül színe zöld színűvé válik, és amikor az „Hamis” szöveget írja be az A1 cellába, a fül színe pirosra vált, és ha más szöveget ír be az A1 cellába, a fül színe automatikusan kék lesz.


nyíl kék jobb buborék VBA kóddal több cellalapot módosíthat a cellaérték alapján

Ha több lapfül színét kell megváltoztatnia egy cellaérték alapján, itt egy kód is segíthet, kérjük, tegye a következőket:

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak, a megnyílt ablakban kattintson duplán Ez a munkafüzet alatt a VBAProject szakaszban, majd másolja és illessze be az alábbi kódot az üresbe Modulok:

VBA-kód: Több lap fülének módosítása a cella értéke alapján:

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 színes lap 3. érték szerint

Jegyzet: A fenti kódban A1 és a Mester az a cella és munkalap, amelyek alapján a lapot színezni szeretné, Sheet1, Sheet2, Sheet3 azok a munkalapok, amelyekkel a lapokat színezni szeretné. KTE, KTW, WHO azok a cellák értékei az A1-ben, amelyek alapján a lapokat színezni kívánja, szükség szerint megváltoztathatja a kódban található hivatkozásokat és színeket.

2. Ezután mentse el és zárja be ezt a kódablakot. Most, amikor beírja a KTE szöveget a törzslap A1 cellájába, a Sheet1 fül piros színnel jelenik meg, amikor a KTO-t írja be az A1 cellába, a Sheet2 zöld színnel jelenik meg, és amikor beírod a KTW-t az A1 cellába, a Sheet3 kék színű lesz, lásd a képernyőképet:

doc színes lap 4. érték szerint


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (23)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves uram.
Kérem, segítsen nekem, hogyan tudom megváltoztatni a lapfül színét dátum/nap alapján.

pl.:-
ha az 1. számú lap vasárnap, akkor - lapfül „PIROS”
ha a 2. számú lap hétfő, akkor - lapfül „Zöld”
ha a 3. számú lap kedd, akkor - lapfül „Zöld”
ha a 4. számú lap szerda, akkor - lapfül „Zöld”
ha az 5. számú lap csütörtök, akkor - lapfül „Zöld”
ha a 6. számú lap péntek, akkor - lapfül „Zöld”
ha a 7. számú lap szombat, akkor - lapfül „Zöld”

Kérem, segítsen a fenti excel problémában.

Köszönet és üdvözlettel
Faiz Ibn Uvaiz P.
A weboldal moderátora ezt a megjegyzést minimalizálta
A leírásod kissé homályos, hogy mit is akarsz valójában csinálni. Ha a munkafüzet csak egy hétre szól, akkor színezze ki a füleket. Ha az időtartam egy hétnél hosszabb, akkor a megoldás egy kicsit bonyolultabb. Amíg nem részletezi a problémát, számos megoldás áll rendelkezésre. Én és sokan nem töltjük az időnket azzal, hogy 2,000 megoldást kódoljunk ingyen. De részletezi a problémát, talán 1 megoldást kínálunk.
A weboldal moderátora ezt a megjegyzést minimalizálta
hogyan változtathatom meg a lap színét az időjárás függvényében, egy sor cellában van szöveg
A weboldal moderátora ezt a megjegyzést minimalizálta
A képlet „Igaz” esetén működik – a lapfül PIROS, szóval ez nagyszerű, de ha „Igaz”-ról „False”-ra változtatom, azt szeretném, ha a lapfül „nincs szín”. Mi a képlet arra, hogy a lapfülön nincs szín, ha nincs kiválasztva az „Igaz”? Akkor is, ha azt akarom, hogy a képlet egy cellacsoportra vonatkozzon, pl. A1:A30 mi az általam használt kód?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Shannon:
A következő VBA-kód jót tehet Önnek, kérjük, próbálja ki:

Private Sub Worksheet_Change (ByVal Target mint Range)
Dim xrg mint tartomány
xRg beállítása = Metszéspont(Cél, Tartomány("A1:A30"))
Ha az xRg semmi, akkor lépjen ki a Subból
Válassza a Case Target.Value lehetőséget
"Igaz" eset
Me.Tab.Color = vbRed
"Hamis" eset
Me.Tab.Color = Hamis
Vége kiválasztása
End Sub

Remélhetőleg ez segíthet Önnek!
A weboldal moderátora ezt a megjegyzést minimalizálta
Van mód a fül színének megváltoztatására a következők alapján: Van egy főlapom, ahol a 3-7. sorok kék színűek, és megfelelnek a megfelelő 3-7. azokat a sorokat), amelyeket kékre szeretnék színezni. Ezután a 8-12. sorok zöld színűek, és megfelelnek a 8-12. fülnek és így tovább.
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez egy fantasztikus trükk volt.
A tabulátor színét az A1 cella értéke alapján kapcsoltam össze (<>0 PIROS és =0 Zöld), azonban a makró csak akkor fut le, ha kiválasztom az A1-et, megnyomom az F2-t, majd az entert. Enélkül, bár a fül színe (értéke alapján) legyen mondjuk Piros, de zöld marad.
Excel 2007-et használok.
A weboldal moderátora ezt a megjegyzést minimalizálta
Lehetséges ez úgy működni, hogy az A1 cellában mind a 3 válasz külön sorban szerepelhet a cellán belül? Vagyis a KTE, a KTO és a KTW mind jelen van a cellában, mivel lehetővé teszi a többszörös kijelölést a legördülő listából.
A weboldal moderátora ezt a megjegyzést minimalizálta
Megpróbálom ezt a kódot használni, és egy jelölőnégyzetre alkalmazni, tehát amikor bejelölöm a jelölőnégyzetet, a szín megváltozik, ha törlöm, akkor visszavált (igaz=zöld, false=piros ,else=red) . De amikor bejelölöm és törlöm a pipát, akkor a "objektum szükséges" hibát dob.


Privát al-jelölőnégyzet1_Click()
_____Ha Target.Address = "$e$5" Akkor itt a hiba
__________Válassza ki a Case Target.Value lehetőséget
__________"Hamis" eset
_______________Me.Tab.Color = vbRed
__________"Igaz" eset
_______________Me.Tab.Color = vbGreen
__________Egyéb eset
_______________Me.Tab.Color = vbRed
__________Vége kiválasztása
_____Vége Ha
End Sub

Kimásoltam és beillesztettem, hogy lássam, hogy fut, majd beállítom az igényeimhez, de nem találtam módot arra, hogy futtassák.
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves kollégák,
Kérjen segítséget. Módosítanom kell a lapfül színét a [ó]:mm formátumú érték alapján. Például, ha az érték 20:00 alatt van - piros, >20:00 zöld.
Köszönettel és üdvözlettel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves kollégák,
Kérjen segítséget. Módosítanom kell a lapfül színét a [ó]:mm formátumú érték alapján. Például, ha az érték 20:00 alatt van - piros, >20:00 zöld.
Köszönettel és üdvözlettel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Victor,
Az alábbi VBA kód meg tudja oldani a problémát, próbálja meg, remélem tud segíteni!

Private Sub Worksheet_Change (ByVal Target mint Range)
Dim xStr As String
Dim xSN As String
Dim xDate As String
Dim xAddress As String
Dim xArr() As String
Dim xI1 Egész számként
Dim xSM As String
xDate = "20:00"
xAddress = "$A$1"
Ha Target.Address <> xAddress, akkor Exit Sub
xStr = Target.Text
xArr = Felosztás(xStr, ":")
Ha (UBound(xArr) - LBound(xArr) + 1) > 2, akkor lépjen ki a Subból
xI1 = Int(xArr(0))
Ha (Len(xArr(0)) - 2) < 1 Akkor
Ha xI1 > 23, akkor lépjen ki a Sub-ból
Más
Exit Sub
Ha véget
xSM = xArr(1)
Hiba esetén GoTo Err01
If (Len(xSM) - 2) <> 0 Akkor lépjen ki a Sub-ból
Ha Int(Bal(xSM, 1)) > 5, akkor Lépjen ki a Sub-ból
Ha Int(Right(xSM, 1)) > 10, akkor lépjen ki a Sub-ból
Ha xI1 >= 20 Akkor
Me.Tab.Color = vbGreen
Más
Me.Tab.Color = vbRed
Ha véget
01. hiba:
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves Skyyang!
Elnézést a túl késői visszajelzésért. Ez a képlet akkor működik, amikor manuálisan módosítom az értéket a cellában. De nem erre volt szükségem.
A cellaérték a különbségi lapokból származó képlet eredménye. Például ez a képlet az "O13-'520'!AD3" cellában. Ez azt jelenti, hogy az ebben a cellában lévő érték a megfelelő munkalap megfelelő cellájának értékétől függően változik. Amire szükségem van, az az a lapszín, amely automatikusan megváltozik, amikor az "O13-'520'!AD3" cellában az érték megváltozik, ha az "O13-'520'!AD3" cellában lévő érték 05:00 alatt van - piros , >20:00 zöld, 05:00 és 20:00 között barna.
Előre is köszönöm és üdvözlettel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Üdvözlök mindenkit! Hogyan változtathatom meg a tabulátor színét egy bizonyos érték alapján a több lap oszlopában? Kösz
A weboldal moderátora ezt a megjegyzést minimalizálta
Hogyan kapcsolná össze a lapot egy másik lapon lévő értékkel. Példámban egy lap van az összes információval, amely automatikusan kiszűri a különböző lapokra. Azonban minden lap zöld vagy piros lesz, attól függően, hogy van-e kiemelkedő egyenleg a főlapon. Megtehető-e ezzel a kóddal, és ha igen, hova írjam a kódon belül a főlapra mutató hivatkozást?
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló,

Soha nem kódolt még excelben. Olyan kódra van szükségem, amely azt teszi, amit ez a kód, de szükségem van egy másik paraméterre.

Tehát amire szükségem van:

Ha a cella értéke nem 0, és/vagy ha más cellában vannak számok, a count segítségével változtassa meg a színét pirosra

Ha a cella értéke 0, és a többi cella üres, a count használatával változtassa meg a színt zöldre
A weboldal moderátora ezt a megjegyzést minimalizálta
Üdvözlöm! Megpróbáltam a fülek színének megváltoztatását egy különálló, Követés nevű lapon lévő érték alapján, de úgy tűnik, ez nem működik. Kösz




Private Sub Worksheet_Change (ByVal Target mint Range)

'Frissítés által Extendoffice 20160930

Ha Target.Address = "Tracking!$C$2" Akkor

Válassza a Case Target.Value lehetőséget

"ip" eset

Me.Tab.Color = vbRed

"w" eset

Me.Tab.Color = vbYellow

"c" eset

Me.Tab.Color = vbGreen

Más eset

Me.Tab.Color = vbBlue

Vége kiválasztása

Ha véget

End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Brad,
A kód megfelelő futtatásához ne illessze be a lap nevét a kódba, kérjük, használja a következő kódot: (kattintson arra a lap nevére, amelyet futtatni szeretne, majd kattintson jobb gombbal a lap nevére, és válassza a Kód megtekintése lehetőséget, majd illessze be a kódot a modulba)

Private Sub Worksheet_Change (ByVal Target mint Range)

'Frissítés által Extendoffice 20160930

Ha Target.Address = "$C$2" Akkor

Válassza a Case Target.Value lehetőséget

"ip" eset

Me.Tab.Color = vbRed

"w" eset

Me.Tab.Color = vbYellow

"c" eset

Me.Tab.Color = vbGreen

Más eset

Me.Tab.Color = vbBlue

Vége kiválasztása

Ha véget

End Sub

Próbáld ki, remélem tud segíteni!
A weboldal moderátora ezt a megjegyzést minimalizálta
A lap színére szeretnék váltani egy képlet két eredménye közül az egyik képlet alapján. Van egy képletem:=IF((AND(AA2="elfoglalva",AA1="elfoglalva",AA2="elfoglalva",AA3=" Foglalt")),"Foglalva","Üres")
A fülnek pirosnak kell lennie, ha „Foglalt”, és zöldnek kell lennie, ha „Üres”. Azonban a fenti kód a fő bejegyzésben nem ismeri fel az If Than kimenetét
A weboldal moderátora ezt a megjegyzést minimalizálta
Hello,
Egy kis segítségre lenne szükségem
Csak akkor kell módosítanom a lapfül színét, ha egy bizonyos cellatartományban a mai dátum szerepel
Mondjuk pl.
Az L oszlopban vannak dátumok a következő formátumban: (13-május-22)
Az egyik cellaérték a mai dátum, ekkor a lap színének pirosra kell változnia
Kérem, segítsen
Előre is köszönöm
A weboldal moderátora ezt a megjegyzést minimalizálta
Szeretném, ha a fülem színe megváltozna, ha az O vagy a P oszlop bármely cellájában van érték. Van erre lehetőség?

Köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
A lapfül színét az egyes lapok j4 cellájának színe alapján szeretném beállítani. Több mint 18 lap létezik, és frissíteni szeretné a lapszíneket a munkafüzet megnyitásakor. Ha nem tudok frissíteni megnyitáskor, akkor futtathatom a makrót, miután a csapatok frissítették a lapokat.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia fa
A probléma megoldásához használja az alábbi kódot: (Megjegyzések: Másolja ki és illessze be az alábbi kódot a Ez a munkafüzet kód mód)
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

Kérem, próbálja ki, remélem tud segíteni!
Még senki sem írt megjegyzést
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi