Skip to main content

如何根據條件清除 Excel 中的單元格內容?

Author: Xiaoyang Last Modified: 2025-05-12

有時候,您可能需要根據條件在 Excel 中清除單元格內容,例如,如果單元格包含特定值則清除其內容、如果另一列中有空白單元格則清除該單元格內容,或者清除具有特定背景色的單元格內容等。本文將介紹一些快速輕鬆解決這些任務的小技巧。

根據單元格值使用 VBA 代碼清除單元格內容

使用 VBA 代碼清除大於或小於特定值的整行內容

使用便捷功能根據單元格值清除單元格或行內容

使用 VBA 代碼清除另一個單元格為空時的整行內容

使用 VBA 代碼根據背景顏色清除單元格內容


根據單元格值使用 VBA 代碼清除單元格內容

例如,您有以下數據區域,現在想要清除所有值為“Hoodie”的單元格內容,下面的 VBA 代碼可以幫助您完成此操作。

sample data

1. 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2. 點擊 插入 > 模組,然後在模組窗口中粘貼以下代碼。

VBA 代碼:如果單元格等於特定值則清除單元格內容

Sub ClearContents()
'Updateby ExtendOffice
 Dim xRng As Range
 Dim xCell As Range
 Dim xText As String
 Set xRng = Application.Range("A2:A12")
 xText = "Hoodie" 'Change this text to your own
 For Each xCell In xRng
 If xCell.Value = xText Then
 xCell.clearContents
 End If
 Next xCell
End Sub
注意:在上述代碼中,A2:A12 是您要清除單元格內容的數據區域,“Hoodie”是您要清除的特定值。請根據需要進行更改。

3. 然後,按 F5 鍵運行此代碼,所有包含“Hoodie”文本的單元格內容將立即被清除,請參見截圖:

vba code to clear cell contents based on cell value

a screenshot of kutools for excel ai

使用 Kutools AI 解鎖 Excel 的魔法

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

使用 VBA 代碼清除大於或小於特定值的整行內容

假設您有以下數據區域,當 D 列中的值大於或小於 300 時,清除整行內容。這裡我將創建一個 VBA 代碼來完成此操作。

sample data

1. 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2. 點擊 插入 > 模組,然後在模組窗口中粘貼以下代碼。

VBA 代碼:如果單元格值大於或小於特定值則清除整行內容

Sub ClearRowInValue()
'Updateby ExtendOffice
Dim xRg As Range
Dim xStrAddress As String
Dim xStrValue As Integer
Dim xCell As Range
Dim xRowRg As Range
Dim xF As Integer
Dim xBol As Boolean
xStrAddress = "D2:D12" 'Change cell range
xStrValue = 300 'change the value
Set xRg = Range(xStrAddress)
For xF = xRg.Rows.Count To 1 Step -1
    Set xRowRg = xRg.Rows.Item(xF)
    xBol = False
    For Each xCell In xRowRg.Cells
        If Application.IsNumber(xCell.Value) Then
        If xCell.Value > xStrValue Then
        xBol = True
        Exit For
        End If
        End If
    Next
    If xBol Then
        xRowRg.EntireRow.clearContents
    End If
Next
End Sub
注意:在上述代碼中,D2:D12 是包含您希望基於其清除行的特定值的數據區域;300 是特定值;腳本 If xCell.Value > xStrValue Then 中的 > 符號表示大於,若需小於,請將其改為 < 符號。

3. 然後按 F5 鍵運行此代碼,當 D 列中的值大於 300 時,所有行內容將被清除,請參見截圖:

vba code to clear entire rows if value is greater or less than a specific value


使用便捷功能根據單元格值清除單元格或行內容

如果您安裝了 Kutools for Excel,利用其選擇指定單元格功能,您可以根據特定值選擇單元格或行,然後一次性刪除單元格內容。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

安裝 Kutools for Excel 後,請按照以下步驟操作:

1. 選擇您希望根據其清除單元格或行內容的數據區域,然後點擊 Kutools > 選擇 > 選擇指定單元格,請參見截圖:

click Kutools > Select > Select Specific Cells

2. 在打開的選擇指定單元格對話框中,執行以下操作:

  • 點擊您希望選擇的單元格整行
  • 根據需要在指定類型部分下指定條件。這裡我希望選擇 D 列中值大於 300 的行。

specify the options in the dialog box

3. 然後點擊 確定 按鈕,所有值大於 300 的行將被選中。現在,您只需按下鍵盤上的 Delete 鍵即可刪除單元格內容,請參見截圖:

all the rows with the value greater than specific value are selected, then delete the contents

提示:您可以使用許多其他條件,請從對話框中指定您自己的條件,如下截圖所示:
many other criteria in the dialog box

使用 VBA 代碼清除包含空白單元格的行數據

在此情況下,如果數據區域中的單元格包含任何空白,我想清除範圍內的行數據,如下截圖所示。

Clear rows data in a range if contains blank cell

要完成此任務,請應用以下 VBA 代碼:

1. 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2. 點擊 插入 > 模組,然後在模組窗口中粘貼以下代碼。

VBA 代碼:如果包含空白單元格則清除行數據

Sub ClearContents()
'Updateby ExtendOffice
Dim xcell As Range
Set xrng = Application.Range("A2:D12")
For Each xcell In xrng
If xcell.Value = "" Then
Intersect(xcell.EntireRow, xrng).ClearContents
End If
Next
End Sub
注意:在上述代碼中,A2:D12 是包含您希望清除單元格內容的空白單元格的數據區域。

3. 然後,按 F5 鍵運行此代碼,並且在指定範圍內包含空白單元格的行數據將立即被清除。


使用 VBA 代碼根據背景顏色清除單元格內容

要清除填充了特定背景顏色的單元格,您可以使用以下 VBA 代碼。

1. 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2. 點擊 插入 > 模組,然後在模組窗口中粘貼以下代碼。

VBA 代碼:根據背景顏色清除單元格內容

Sub Clearcontents()
'Updateby ExtendOffice
Dim xcell As Range
Dim xrng As Range
Set xrng = Application.Range("A2:D12")
    For Each xcell In xrng
        If xcell.Interior.Color = RGB(252, 228, 214) Then
            xcell.Clearcontents
        End If
    Next
End Sub
注意:在上述代碼中,A2:D12 是您希望使用的數據區域,RGB(252, 228, 214) 是您希望基於其清除單元格的特定顏色,您可以使用電腦上的 Paint 程序提取背景顏色的 RGB 模式。

3. 然後,按 F5 鍵運行此代碼,並立即清除具有指定背景顏色的單元格內容。請參見截圖:

vba code to clear cell contents based on background color


  • 超級公式欄(輕鬆編輯多行文字和公式);閱讀版面(輕鬆閱讀和編輯大量儲存格);貼上到已篩選區域...
  • 合併儲存格/列/欄並保留數據;分割儲存格內容;合併重複列並求和/平均值... 防止重複儲存格;比較區域...
  • 選擇重複或唯一列;選擇空白列(所有儲存格均為空);在多個工作簿中進行超級查找和模糊查找;隨機選擇...
  • 精確複製多個儲存格而不改變公式引用;自動創建對多個工作表的引用;插入項目符號、核取方塊等...
  • 收藏並快速插入公式、區域、圖表和圖片;使用密碼加密儲存格建立郵件清單並發送電子郵件...
  • 提取文本、添加文本、按位置刪除、刪除空格;創建並打印分頁小計;在儲存格內容和批註之間轉換...
  • 超級篩選(保存並應用篩選方案到其他工作表);高級排序按月/週/日、頻率等;特殊篩選按粗體、斜體...
  • 合併工作簿和工作表;基於關鍵列合併表格;將數據分割到多個工作表批量轉換 xls、xlsx 和 PDF...
  • 資料透視表按週數、星期幾等分組... 用不同顏色顯示未鎖定、已鎖定的儲存格突出顯示包含公式/名稱的儲存格...
kte tab 201905
  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 提高您的生產力 50%,每天減少數百次鼠標點擊!
officetab bottom