跳到主要內容

如何在 Excel 中一次查找和刪除多個匹配項?

在 Excel 中處理大數據時,能夠在任何特定時刻快速找到您需要的信息至關重要。 這就是您需要查找和替換功能的時候,它可以幫助您在活動工作表或整個工作簿中查找和突出顯示特定值或格式,然後對結果執行您想要的操作,例如刪除或替換它們。 但是,使用 Excel 的查找和替換,您一次只能找到一個值。 在本教程中,我將介紹一種快速查找多個不同值並在 Excel 中一次刪除它們的方法。


使用 VBA 一次查找和刪除多個匹配項

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

1. 在 Excel 中,按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊. 然後將以下任一 VBA 代碼複製到 模塊 窗口。

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

注意: 在片段中 xArrFinStr = Array("sales", "9", "@") 在第 13 行,你應該替換 “銷售”、“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
注意:
  • 在片段中 xArr = Array("Sheet1", "Sheet2") 在第 15 行,你應該替換 “表 1”、“表 2” 使用要在其中查找和刪除值的工作表的實際名稱。 請記住用雙引號將每個工作表名稱括起來,並用逗號分隔它們。
  • 在片段中 xArrFinStr = Array("sales", "9", "@") 在第 16 行,你應該替換 “銷售”、“9”、“@” 對於要查找和刪除的實際值,請記住用雙引號將每個值括起來並用逗號分隔它們。

3。 按 F5 運行 VBA 代碼。 注意: 如果你使用 VBA代碼1,將彈出一個對話框,要求您選擇查找和刪除值的範圍。 您還可以單擊工作表選項卡以選擇整個工作表。

4. 彈出如下圖的對話框,告訴你代碼已經刪除了指定的匹配項。 點擊 OK 關閉對話框。

5. 指定的值已被一次性刪除。


使用“選擇特定單元格”功能一次查找和刪除多個匹配項

Kutools for Excel 提供 選擇特定的單元格 一次查找滿足您設置的一個或兩個條件的值的功能,請繼續閱讀以了解如何一次快速查找和刪除多個值。

1。 在 庫工具 標籤,在 編輯 組,單擊 選擇 > 選擇特定的單元格.

2.在彈出窗口中 選擇特定的單元格 對話框,請執行以下操作:
  • 選擇此範圍內的單元格 框,單擊範圍選擇按鈕 在右側指定範圍 在哪裡查找和刪除值. 注意: 要搜索整個工作表,請單擊工作表選項卡。
  • 選擇類型 部分,選擇 細胞 選項。
  • 特定類型 部分,最多設置兩個條件:
    • 點擊左側的下拉箭頭,選擇您需要的關係,例如 包含, 等於, 小於, 始於等等。
    • 根據需要在相應框中鍵入值。
    • 指定兩個條件之間的關係(如果有): or Or.

3。 點擊 Ok 選擇滿足您設置的條件的單元格。 將彈出一個對話框,告訴您找到並選擇了多少個單元格。

4。 點擊 OK. 現在,按 DELETE 鍵一次刪除選定的值。

注意: 要使用 選擇特定的單元格 功能,您應該在您的計算機中安裝 Kutools for Excel。 如果您沒有安裝 Kutools, 點擊此處下載並安裝. 專業的 Excel 插件提供 30 天無限制免費試用。


在 Excel 中一次查找和刪除多個匹配項


相關文章

在Excel中查找,突出顯示,過濾,計數,刪除重複項

在Excel中,當我們手動記錄數據,從其他來源複製數據或出於其他原因而重複出現數據。 有時,重複是必要且有用的。 但是,有時重複的值會導致錯誤或誤解。 在這裡,本文將介紹在Excel中通過公式,條件格式設置規則,第三方加載項等快速識別,突出顯示,篩選,計數,刪除重複項的方法。

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

如果您有兩列/列表,其中包括一些重複項,那麼現在您想要比較它們並找出匹配項,然後將其刪除,如何快速解決? 在本文中,我介紹了多種方法來幫助您在Excel中進行處理。

如何在 Excel 中刪除除選定範圍之外的所有範圍?

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

如何刪除一系列單元格中的所有圖片?

如果現在在工作表中填充了多張圖片,您想刪除指定範圍內的某些圖片,如何快速處理?

最佳辦公生產力工具

熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

kte選項卡201905


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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations