Skip to main content

如何在 Excel 中一次性尋找並刪除多個匹配項?

Author: Amanda Li Last Modified: 2025-05-12

在 Excel 中處理大量數據時,能夠快速找到所需信息是至關重要的。這時,您需要使用“尋找和替換”功能,該功能可以幫助您在當前工作表或整個工作簿中尋找並選取特定的值或格式,然後根據結果執行您想要的操作,例如刪除或替換它們。然而,Excel 的“尋找和替換”功能一次只能找到一個值。在本教程中,我將介紹一種快速在 Excel 中找到多個不同值並一次性刪除它們的方法。

A screenshot showing a range of cells to find and delete multiple values


使用 VBA 一次性尋找並刪除多個匹配項

我們創建了兩個 VBA代碼來幫助您在選定區域或多個工作表中找到多個不同的值並立即刪除它們。請按照以下步驟操作並根據需要運行代碼。

1. 在您的 Excel 中,按下 Alt + F11 鍵以打開 Microsoft Visual Basic for Applications 視窗。

2. 點擊插入 > 模組。然後將以下任一 VBA代碼複製到模組視窗中。
A screenshot of the Microsoft Visual Basic for Applications window with the Insert > Module option highlighted

VBA代碼1:在選定區域中一次性尋找並刪除多個匹配項

Sub FindAndDeleteDifferentValues_Range()
'Updated by ExtendOffice 20220823
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg As Range
Dim xURg As Range
Dim xFindRgs As Range
Dim xFAddress As String
Dim xBol As Boolean
Dim xJ

xArrFinStr = Array("sales", "9", "@") 'Enter the values to delete, enclose each with double quotes and separate them with commas

On Error Resume Next
Set xRg = Application.InputBox("Please select the search scope:", "Kutools for Excel", , Type:=8)
If xRg Is Nothing Then Exit Sub

xBol = False
For Each xARg In xRg.Areas
    Set xFindRg = Nothing
    Set xFindRgs = Nothing
    Set xURg = Application.Intersect(xARg, xARg.Worksheet.UsedRange)
    For Each xFindRg In xURg
        For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
            If xFindRg.Text = xArrFinStr(xJ) Then
                xBol = True
                If xFindRgs Is Nothing Then
                    Set xFindRgs = xFindRg
                Else
                    Set xFindRgs = Application.Union(xFindRgs, xFindRg)
                End If
            End If
        Next
    Next
    If Not xFindRgs Is Nothing Then
        xFindRgs.ClearContents
    End If
Next
If xBol Then
    MsgBox "Successfully deleted."
Else
     MsgBox "No results found."
End If
End Sub

備註:在第13 行的代碼片段 xArrFinStr = Array("sales", "9", "@") 中,您應該將 "sales", "9", "@" 替換為您想要尋找和刪除的實際值,記得用雙引號括住每個值並用逗號分隔。


VBA代碼2:在多個工作表中一次性尋找並刪除多個匹配項

Sub FindAndDeleteDifferentValues_WorkSheets()
'Updated by ExtendOffice 20220823
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg, xFindRgs As Range
Dim xWShs As Worksheets
Dim xWSh As Worksheet
Dim xWb As Workbook
Dim xURg As Range
Dim xFAddress As String
Dim xArr, xArrFinStr
Dim xI, xJ
Dim xBol As Boolean
xArr = Array("Sheet1", "Sheet2") 'Names of the sheets where to find and delete the values. Enclose each with double quotes and separate them with commas
xArrFinStr = Array("sales", "9", "@") 'Enter the values to delete, enclose each with double quotes and separate them with commas
'On Error Resume Next
Set xWb = Application.ActiveWorkbook
xBol = False
For xI = LBound(xArr) To UBound(xArr)
    Set xWSh = xWb.Worksheets(xArr(xI))
    Set xFindRg = Nothing
    xWSh.Activate
    Set xFindRgs = Nothing

    Set xURg = xWSh.UsedRange
    Set xFindRgs = Nothing
    For Each xFindRg In xURg
        For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
            If xFindRg.Text = xArrFinStr(xJ) Then
                xBol = True
                If xFindRgs Is Nothing Then
                    Set xFindRgs = xFindRg
                Else
                    Set xFindRgs = Application.Union(xFindRgs, xFindRg)
                End If
            End If
        Next
    Next
    If Not xFindRgs Is Nothing Then
        xFindRgs.ClearContents
    End If
Next

If xBol Then
    MsgBox "Successfully deleted."
Else
     MsgBox "No results found."
End If
End Sub
備註:
  • 在第15 行的代碼片段 xArr = Array("Sheet1", "Sheet2") 中,您應該將 "Sheet1", "Sheet2" 替換為您想要尋找和刪除值的工作表的實際名稱。記得用雙引號括住每個工作表名稱並用逗號分隔。
  • 在第16 行的代碼片段 xArrFinStr = Array("sales", "9", "@") 中,您應該將 "sales", "9", "@" 替換為您想要尋找和刪除的實際值,記得用雙引號括住每個值並用逗號分隔。

3. 按下 F5 鍵運行 VBA代碼。備註: 如果您使用 VBA代碼1,將彈出一個對話框,要求您選擇要尋找和刪除值的區域。您也可以點擊工作表標籤以選擇整個工作表。

4. 如下所示的對話框彈出,告訴您代碼已刪除指定的匹配項。點擊 OK 關閉對話框。
A screenshot of a message box in Excel confirming the deletion of specified values after running VBA code

5. 指定的值已經一次性刪除。
A screenshot of the Excel worksheet showing the cells after multiple values have been deleted using VBA code


使用“選擇指定單元格”功能一次性尋找並刪除多個匹配項

Kutools for Excel 提供了“選擇指定單元格”功能,可以一次性找到符合您設置的一個或兩個條件的值,請繼續閱讀以了解如何快速找到並刪除多個值。

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

1. 在 Kutools 標籤的 編輯 組中,點擊 選擇 > 選擇指定單元格
A screenshot of the Kutools tab in Excel with the Select Specific Cells option highlighted

2. 在彈出 選擇指定單元格 對話框中,請按以下步驟操作:
  • 在區域內選擇儲存格 框中,點擊右側的區域選擇按鈕 Range selection button 以指定從 哪裡尋找和刪除值. 備註:要搜尋整個工作表,請點擊工作表標籤。
  • 選擇類型部分,選擇單元格選項。
  • 指定類型 部分,最多設置兩個條件:
    • 點擊左側的下拉箭頭以選擇您需要的條件關係,例如包含等於小於開頭是等。
    • 根據您的需要在相應的框中輸入值。
    • 指定兩個條件之間的關係(如果有):
A screenshot of the Select Specific Cells dialog box in Excel

3. 點擊 Ok以選擇符合您設置的條件的單元格。彈出一個對話框,告訴您找到並選擇了多少個單元格。
A screenshot of the Select Specific Cells dialog box confirming the number of selected cells in Excel

4. 點擊 OK。現在,按下 DELETE 鍵以一次性刪除選定的值。
A screenshot of the Excel worksheet with selected cells being deleted using the DELETE key

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取


演示:在 Excel 中一次性尋找並刪除多個匹配項

Kutools for Excel:超過 300 種實用工具任您使用!永久免費享受AI功能!立即下載!

相關文章

在 Excel 中尋找、選取、篩選、計數、刪除重複項

在 Excel 中,當我們手動記錄數據、從其他來源複製數據或出於其他原因時,重複數據會反覆出現。有時,重複項是必要且有用的。然而,有時重複值會導致錯誤或誤解。本文將介紹如何通過公式、使用條件格式規則、第三方插件等方法快速識別、選取、篩選、計數、刪除重複項。

如何在 Excel 中比較兩列並刪除匹配項?

如果您有兩列/列表包含一些重複項,現在您想要比較它們並找出匹配項,然後刪除它們,您如何快速解決?在本文中,我介紹了不同的方法來幫助您在 Excel 中處理此問題。

如何在 Excel 中刪除除選定區域之外的所有內容?

在 Excel 中,我們可以快速直接刪除選定的區域,但您是否曾嘗試刪除除選定區域之外的其他單元格內容?本文中,我將介紹一些技巧來幫助您快速輕鬆地在 Excel 中解決此任務。

如何刪除單元格區域中的所有圖片?

如果您的工作表中有多個圖片,現在您想要在指定區域中刪除其中一些,您如何快速處理?

最佳辦公效率工具

🤖 Kutools AI 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文本工具添加文本刪除特定字符、...)   |   50+ 圖表 類型甘特圖、...)   |   40+ 實用 公式基於生日計算年齡、...)   |   19 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!