Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何根據另一列或下拉列表的選擇在 Excel 中將儲存格變灰?

Author Sun Last modified

在實際的 Excel 工作中,經常會遇到需要根據相關儲存格的值來讓數據在視覺上突出顯示或降低突出程度的情況。一個常見的需求是當另一列包含特定值或從下拉列表中選擇時,自動將某些儲存格“變灰”(淡化或在視覺上停用)。
這種動態格式化使大型數據集更易於解讀、幫助限制輸入的工作流程,或明確哪些項目目前無法操作。例如,當專案狀態列中的值為「已完成」時,可以觸發任務描述的變灰處理。
本文介紹了幾種在 Excel 中根據另一列的值或下拉列表選擇將儲存格變灰的有效方法,涵蓋標準條件格式以及針對複雜需求的更進階 VBA 方法。您還會在過程中找到故障排除建議和實用技巧。
grey out cells based on another column

根據另一列或下拉列表選擇將儲存格變灰

VBA:根據另一列或下拉列表自動將儲存格變灰


arrow blue right bubble 根據另一列或下拉列表選擇將儲存格變灰

假設您有兩列:A 列包含主要數據(如任務或描述),B 列包含標誌或狀態指示器(如「是/否」,或從下拉列表中選擇)。您可能希望根據 B 列的值將 A 列中的項目在視覺上變灰。例如,當 B 列中的某個儲存格顯示「是」時,A 列中對應的儲存格將顯示為灰色,標記為不活躍或已完成。如果 B 列不是「是」,則 A 列保持正常外觀。

此方法適用於任務管理表、清單、工作流程或任何一列狀態控制另一列格式化的表格。它能讓您的數據井然有序且易於使用,但依賴於結構良好且對齊的列(確保行對應正確)。

1. 選擇 A 列中您希望根據其他列自動變灰的儲存格。例如,選擇 A2:A100 (僅選擇與 B 列中使用的範圍相匹配的儲存格)。然後前往 首頁 > 條件格式化 > 新增規則.
click Home > Conditional Formatting > New Rule

2. 在新建格式化規則對話框中,點擊 使用公式確定要格式化的儲存格。將此公式 =B2="是" 輸入到名為 格式化符合此公式的值 的框中,該公式檢查 B 列中對應儲存格的值是否為「是」:

3. 然後,點擊 格式化 按鈕。在 設定儲存格格式 對話框中,選擇 填充 標籤上的灰色。這將是用於變灰的背景顏色。 填充 標籤。這將是用於變灰的背景顏色。
specify options in the New Formatting Rule dialog

4. 設定好顏色後,點擊 確定 以關閉 設定儲存格格式 視窗,然後再點擊 確定 應用新的格式化規則。
the cells have been greyed out based on another column values

從現在起,每當 B 列顯示「是」時,A 列中對應的儲存格將顯示為灰色。如果 B 列更改為其他值(如「否」或空白),A 列的外觀將恢復正常。此方法即時生效,不需要手動更新。

提示:若要在 B 列中使用下拉列表,過程類似。這種方法特別適用於控制列使用標準化選項的情況,例如專案狀態(「進行中」、「完成」)、核取方塊(「已完成」、「待處理」)或具有特定允許值的驗證列表。

要在 B 列(控制列)中創建下拉列表:

  1. 選擇 B 列中您希望擁有下拉菜單的儲存格。
  2. 點擊 數據 > 數據驗證
  3. 在 數據驗證 對話框中,選擇 列表允許 下拉菜單。在 來源 框中,鍵入或選擇包含允許值的儲存格範圍(例如, 是,否).
    create a drop down list in the Data Validation dialog

現在,B 列的每個儲存格都有下拉列表,允許用戶從設定選項中選擇:
the drop down list has been created

重複上述 條件格式化 設置,使用符合您希望觸發灰色格式化的條目的公式(例如, =B2="是")。應用條件格式化後,只要在 B 列的下拉列表中選擇「是」,A 列中的目標儲存格將自動變灰。
repeat the steps to get the result

額外提示和注意事項:
- 確保 A 列中的條件格式化範圍與數據區域匹配並與 B 列的引用保持一致。如果不一致,格式化可能無法按預期應用。
- 在列中複製或填寫數據時,請檢查引用(例如,B2)是否適當更新。
- 為獲得最佳效果,在應用新規則之前清除範圍中的舊格式。
- 若要移除變灰效果,可以在 B 列中更改規則的觸發值或刪除條件格式化規則。
- 如果您的工作表是共享的,請確保用戶知道哪些值會觸發格式化。

如果條件格式化未按預期工作,請檢查 B 列中的儲存格是否包含公式正在測試的確切值(無多餘空格,如果不是精確匹配,請檢查大小寫,並驗證隱藏字符)。

a screenshot of kutools for excel ai

使用 Kutools AI 解鎖 Excel 的魔法

  • 智能執行:執行單元格操作、分析數據並創建圖表——所有這些都由簡單的指令驅動。
  • 自訂公式:生成量身定制的公式,簡化您的工作流程。
  • VBA 編碼:輕鬆編寫和實現 VBA 代碼。
  • 公式解釋:輕鬆理解複雜的公式。
  • 文本翻譯:打破電子表格中的語言障礙。
通過人工智能工具增強您的 Excel 能力。立即下載,體驗前所未有的效率!

arrow blue right bubble VBA:根據另一列或下拉列表自動將儲存格變灰

對於更進階的情景,例如批量應用格式化、處理多個和更複雜的條件,或當條件格式化的規則和限製不滿足您的需求時,您可以使用 VBA 代碼來自動將儲存格變灰。

常見使用案例:
- 根據下拉列表選擇或與另一列相關的任何邏輯,自動將整行或特定範圍變灰。
- 確保即使在數據導入或宏驅動的工作表更新後,格式化仍保持一致。
- 应用超过内置条件格式限制的多个条件状态。

1. 點擊 開發工具 > Visual Basic 打開 VBA 編輯器(Alt+F11 是快捷鍵)。在 VBA 視窗中,點擊 插入 > 模組。在新模組中,複製並粘貼以下代碼:

Sub GreyOutCellsBasedOnAnotherColumn()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim checkCol As String
    Dim dataCol As String
    Dim i As Long
    Dim triggerValue As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    '----- Set parameters here -----
    Set ws = ActiveSheet ' Or: Set ws = ThisWorkbook.Sheets("Sheet1")
    checkCol = "B" ' Column to check (e.g., B)
    dataCol = "A" ' Column to grey out (e.g., A)
    triggerValue = "YES" ' Value that triggers grey out. Change as needed: "YES", "Complete", etc.

    '----- Find last row in the check column -----
    lastRow = ws.Cells(ws.Rows.Count, checkCol).End(xlUp).Row
    
    For i = 2 To lastRow ' Assumes header in row 1
        If ws.Cells(i, checkCol).Value = triggerValue Then
            ws.Cells(i, dataCol).Interior.Color = RGB(191, 191, 191) ' Grey fill
        Else
            ws.Cells(i, dataCol).Interior.ColorIndex = xlNone ' Remove fill if condition not met
        End If
    Next i
End Sub

2. 要運行宏,當代碼視窗處於活動狀態時按 F5。該宏遍歷工作表中的每一行——從第2行開始(因此您的第一行可以保留為標題)——並檢查 B 列中的觸發值(默認情況下為「是」)。如果找到該值,它將在 A 列中對應的儲存格中填充灰色。如果沒有找到觸發值,任何先前的灰色填充將被移除(恢復儲存格的默認外觀)。

您可以在代碼中自定義以下參數:

  • checkCol: 要檢查的列(例如,「B」)
  • dataCol: 要變灰的列(例如,「A」)
  • triggerValue: 要匹配的變灰值(例如,「是」、「完成」,列表中的任何值)

注意事項和提示:

  • 該宏永久改變儲存格背景。如果您希望在更改數據時顏色實時更新,考慮在每次更新後重新運行宏或使用 Worksheet_Change 事件腳本(僅限進階用戶)。
  • 此方法不受儲存格數量或條件格式規則限制的影響,因此非常適合大範圍的動態範圍或多條件情況。
  • 如果您誤觸發宏並希望移除灰色填充,只需在清除或更改相關值後再次運行即可。
  • 您可以擴展 If 語句以添加更多條件(例如,基於多個選擇、附加列或更複雜的邏輯進行變灰)。

使用 VBA 手動或自動將儲存格變灰提供了最大靈活性,適用於複雜、大規模或高度定制的 Excel 解決方案。

最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...


Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單

  • 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀
  • 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
  • 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

Excel Word Outlook Tabs PowerPoint
  • 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
  • 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
  • 協同運作更順暢 — Office 應用間無縫提升生產力
  • 30 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用