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

如何根據單元格值更改工作表標籤的顏色?

通常,您可以在Excel中輕鬆快速地更改選項卡顏色,但是,您是否曾經嘗試過根據工作表中的單元格值更改選項卡顏色? 如果您對此任務感興趣,我將為您介紹一些代碼,這些代碼可讓您根據Excel中的特定單元格值為工作表標籤著色。

使用VBA代碼根據單元格值更改一張標籤的顏色

使用VBA代碼根據單元格值更改多個工作表標籤


箭頭藍色右氣泡 使用VBA代碼根據單元格值更改一張標籤的顏色

例如,我希望如果A1中的單元格值為文本“ TRUE”,則當前工作表標籤顏色將為綠色;如果A1中的文本為“ FALSE”,則標籤顏色將為紅色;如果A1中的文本為“ FALSE”,則標籤顏色將為藍色。單元格AXNUMX中的值是任何其他文本,如以下屏幕截圖所示:

doc色表(按值1)

1。 右鍵單擊要基於單元格A1中的數據更改其顏色的工作表選項卡,然後選擇 查看代碼 從上下文菜單。

2。 在 Microsoft Visual Basic for Applications 窗口,將下面的VBA代碼複製並粘貼到 模塊 窗口。

VBA代碼:根據單元格值更改一種工作表標籤的顏色:

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色表(按值2)

備註: 在上面的代碼中, A1 是您要根據以下選項為標籤上色的單元格引用:“””是您需要的文本,您可以根據需要對其進行更改,還可以根據需要在代碼中更改顏色。

3。 然後保存並關閉此代碼窗口,現在,當您在單元格A1中輸入文本“ True”時,當前標籤頁顏色將變為綠色,而當您在單元格A1中輸入文本“ False”時,標籤頁顏色將變為紅色,如果在單元格A1中輸入了其他文本,則標籤顏色將自動變為藍色。


箭頭藍色右氣泡 使用VBA代碼根據單元格值更改多個工作表標籤

如果您需要根據單元格值更改多個工作表標籤的顏色,以下代碼也可以為您提供幫助,請執行以下操作:

1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口,在打開的窗口中,雙擊 的ThisWorkbookVBA項目 部分,然後將以下代碼複製並粘貼到空白處 模塊:

VBA代碼:根據單元格值更改多個工作表標籤:

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色表(按值3)

備註: 在上面的代碼中, A1 和Master是您要根據其為標籤著色的單元格和工作表, Sheet1, Sheet2, Sheet3 是要為選項卡著色的工作表。 KTE, 韓國電信, 韓國旅遊發展局 是您要為標籤上色的A1中的單元格值,您可以根據需要更改代碼中的引用和顏色。

2。 然後保存並關閉此代碼窗口,現在,當您在主表的單元格A1中輸入文本KTE時,Sheet1選項卡將變為紅色,當您在單元格A1中輸入KTO時,Sheet2將變為綠色,並且當在單元格A1中輸入KTW時,Sheet3將變為藍色,請參見屏幕截圖:

doc色表(按值4)


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (23)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
親愛的先生。
請幫助我如何根據日期/日期更改工作表標籤顏色。

例如:-
如果第 1 表是星期天,那麼 - 表標籤“紅色”
如果第 2 表是星期一,則 - 表選項卡“綠色”
如果第 3 號工作表是星期二,則 - 工作表選項卡“綠色”
如果第 4 表是星期三,則 - 表選項卡“綠色”
如果第 5 號工作表是星期四,那麼 - 工作表選項卡“綠色”
如果第 6 號工作表是星期五,那麼 - 工作表選項卡“綠色”
如果第 7 表是星期六,則 - 表選項卡“綠色”

請幫助我解決上述excel問題。

感謝和問候
Faiz Ibn Uvaiz P.
網站主持人對此評論進行了最小化
您的描述對於您實際嘗試做的事情有點模糊。 如果工作簿只有一周,則為選項卡著色。 如果持續時間超過一周,則解決方案會稍微複雜一些。 在您詳細說明問題之前,有幾種可用的解決方案。 我和許多人不會花時間免費為您編寫 2,000 個解決方案。 但是您詳細說明了我們可能會提供 1 個解決方案的問題。
網站主持人對此評論進行了最小化
如何根據天氣更改選項卡顏色一系列單元格中包含文本
網站主持人對此評論進行了最小化
該公式適用於“真”-工作表選項卡是紅色的,所以這很好,但如果我將其從“真”更改為“假”,我希望工作表選項卡具有“無顏色”。 如果未選擇“真”,則工作表選項卡上沒有顏色的公式是什麼? 另外,如果我希望公式適用於一組單元格,例如。 A1:A30 我使用的代碼是什麼?
網站主持人對此評論進行了最小化
你好,香農:
以下 VBA 代碼可能會對您有所幫助,請嘗試一下:

Private Sub Worksheet_Change(ByVal Target As Range)
將 xRg 調暗為範圍
設置 xRg = Intersect(Target, Range("A1:A30"))
如果 xRg 什麼都不是,則退出 Sub
選擇案例目標.值
案例“真實”
我.Tab.Color = vbRed
案例“假”
我.Tab.Color = False
最終選擇
END SUB

希望這可以幫到你!
網站主持人對此評論進行了最小化
有沒有一種方法可以根據以下內容更改選項卡顏色:我有一個主選項卡,其中第 3-7 行為藍色,並將對應於相應的選項卡 3-7(根據主選項卡中的單元格值命名)那些行)我想要藍色。 然後第 8-12 行被著色為綠色,並且也對應於選項卡 8-12,依此類推。
網站主持人對此評論進行了最小化
那是一個很棒的技巧。
我根據單元格 A1 的值(<>0 RED 和 =0 Green)鏈接選項卡顏色,但是,宏僅在我選擇 A1 時執行,按 F2,然後按 Enter。 如果不這樣做,儘管選項卡的顏色(基於其值)應該是紅色,但保持綠色。
我正在使用 excel 2007。
網站主持人對此評論進行了最小化
當單元格 A1 可以在單元格內的不同行上包含所有 3 個答案時,是否可以完成這項工作? 也就是說,KTE、KTO 和 KTW 都存在於單元格中,因為它允許從下拉列表中進行多項選擇。
網站主持人對此評論進行了最小化
我正在嘗試使用該代碼並將其應用於復選框,因此當我選中該框時,顏色會改變,如果我取消選中它,它會變回(我得到 true=green,false=red,else=red) . 但是當我選中並取消選中時,它會引發錯誤“需要對象”


Private Sub CheckBox1_Click()
_____If Target.Address = "$e$5" Then 'error here
__________選擇案例目標。價值
__________案例“假”
______________Me.Tab.Color = vbRed
__________案例“真實”
______________Me.Tab.Color = vbGreen
__________其他情況
______________Me.Tab.Color = vbRed
__________結束選擇
_____萬一
END SUB

我複制並粘貼它以查看它運行,然後根據我的需要調整它,但我找不到讓它運行的方法。
網站主持人對此評論進行了最小化
親愛的同事們,
請尋求幫助。 我需要根據格式 [h]:mm 中的值更改工作表標籤顏色。 例如,如果值低於 20:00 - 紅色,>20:00 綠色。
感謝致敬!
網站主持人對此評論進行了最小化
親愛的同事們,
請尋求幫助。 我需要根據格式 [h]:mm 中的值更改工作表標籤顏色。 例如,如果值低於 20:00 - 紅色,>20:00 綠色。
感謝致敬!
網站主持人對此評論進行了最小化
你好,維克多,
下面的VBA代碼可以解決您的問題,請嘗試,希望對您有所幫助!

Private Sub Worksheet_Change(ByVal Target As Range)
將 xStr 調暗為字符串
將 xSN 調暗為字符串
將 xDate 調暗為字符串
將 xAddress 變暗為字符串
將 xArr() 調暗為字符串
將 xI1 調暗為整數
將 xSM 調暗為字符串
xDate = "20:00"
xAddress = "$A$1"
If Target.Address <> xAddress Then Exit Sub
xStr = 目標文本
xArr = 拆分(xStr,“:”)
If (UBound(xArr) - LBound(xArr) + 1) > 2 Then Exit Sub
xI1 = Int(xArr(0))
如果 (Len(xArr(0)) - 2) < 1 那麼
如果 xI1 > 23 則退出 Sub
其他
退出小組
如果結束
xSM = xArr(1)
出錯時轉到 Err01
If (Len(xSM) - 2) <> 0 Then Exit Sub
If Int(Left(xSM, 1)) > 5 Then Exit Sub
If Int(Right(xSM, 1)) > 10 Then Exit Sub
如果 xI1 >= 20 那麼
我.Tab.Color = vbGreen
其他
我.Tab.Color = vbRed
如果結束
錯誤01:
END SUB
網站主持人對此評論進行了最小化
親愛的天陽,
很抱歉反饋太晚了。 當我手動更改單元格中的值時,此公式有效。 但這不是我需要的。
單元格值是來自差異表的公式的結果。 例如,這是單元格“O13-'520'!AD3”中的公式。 這意味著此單元格中的值根據不同工作表中的不同單元格的值而變化。 我需要的是當單元格“O13-'520'!AD3”中的值發生更改時,當單元格“O13-'520'!AD3”中的值低於 05:00 - 紅色時,工作表顏色會自動更改, >20:00 綠色,05:00 至 20:00 棕色。
提前感謝您和最誠摯的問候!
網站主持人對此評論進行了最小化
大家好,如何根據多張表的列中的某個值更改標籤顏色? 謝謝
網站主持人對此評論進行了最小化
您如何將選項卡鏈接到不同選項卡中的值。 在我的示例中,我有一個選項卡,其中包含自動過濾到各個選項卡的所有信息。 但是,每個選項卡將顯示為綠色或紅色,具體取決於主選項卡上是否有未結餘額。 可以使用此代碼完成此操作嗎?如果可以,我在哪裡可以在此代碼中寫入指向主表的鏈接?
網站主持人對此評論進行了最小化
你好,

以前從來沒有在excel中寫過代碼。 我需要一個代碼來完成這段代碼的工作,但我需要另一個參數。

所以我需要的是:

如果單元格值不是 0,和/或如果其他單元格中有數字,則使用計數,然後將顏色更改為紅色

如果單元格值為 0 並且其他單元格為空,則使用計數,然後將顏色更改為綠色
網站主持人對此評論進行了最小化
您好,我嘗試根據名為 Tracking 的單獨工作表上的值更改選項卡顏色,但它似乎不起作用。 謝謝




Private Sub Worksheet_Change(ByVal Target As Range)

'更新通過 Extendoffice 20160930

如果 Target.Address = "Tracking!$C$2" 那麼

選擇案例目標.值

案例“ip”

我.Tab.Color = vbRed

案例“w”

我.Tab.Color = vbYellow

案例“c”

我.Tab.Color = vbGreen

其他情況

我.Tab.Color = vbBlue

最終選擇

如果結束

END SUB
網站主持人對此評論進行了最小化
你好,布拉德,
為使代碼正確運行,請不要在代碼中插入工作表名稱,請蘋果如下代碼:(單擊要運行此代碼的工作表名稱,然後右鍵單擊工作表名稱,然後選擇查看代碼,然後將代碼粘貼到模塊中)

Private Sub Worksheet_Change(ByVal Target As Range)

'更新通過 Extendoffice 20160930

如果 Target.Address = "$C$2" 那麼

選擇案例目標.值

案例“ip”

我.Tab.Color = vbRed

案例“w”

我.Tab.Color = vbYellow

案例“c”

我.Tab.Color = vbGreen

其他情況

我.Tab.Color = vbBlue

最終選擇

如果結束

END SUB

請嘗試,希望對您有所幫助!
網站主持人對此評論進行了最小化
我希望根據公式的兩個結果之一更改選項卡的顏色我有一個公式 =IF((AND(AA2="Occupied",AA1="Occupied",AA2="Occupied",AA3="佔用")),"佔用","空置")
如果“佔用”,我需要標籤為紅色,如果“空置”,我需要為綠色。 但是,主帖中的上述代碼無法識別 If Than 的輸出
網站主持人對此評論進行了最小化
,您好!
我需要一些幫助
僅當在某個單元格範圍內具有今天的日期時,我才需要更改工作表標籤顏色
比如說,
L 列的日期格式為 (13-May-22)
單元格值之一是今天的日期,然後選項卡顏色應更改為紅色
請幫忙
謝謝你在前進
網站主持人對此評論進行了最小化
如果列 O 或列 P 中的任何單元格中有值,我希望我的選項卡更改顏色。 這可能嗎?

感謝您!
網站主持人對此評論進行了最小化
我想根據每張工作表中單元格 j4 的顏色設置工作表標籤顏色。 有 18 個以上的選項卡,並且希望在打開工作簿時更新選項卡顏色。 如果我在打開時無法更新,我可以在團隊更新工作表後運行宏。
網站主持人對此評論進行了最小化
你好,木頭
要解決您的問題,請應用以下代碼:(備註: 將以下代碼複製並粘貼到 的ThisWorkbook 代碼模式)
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

請試一試,希望對您有所幫助!
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護