如何在另一個工作表上刪除不符合條件的行
Excel 是一款強大的資料處理和分析應用程式,允許使用者以各種方式編輯和分析資料。在處理大型資料集時,通常需要篩選並丟棄不滿足指定條件的條目。雖然 Excel 具有內建的篩選功能,但基於另一個工作表的條件刪除行需要更復雜的方法。
刪除另一個工作表上不符合條件的行
在這裡,我們將首先建立一個 VBA 模組,然後執行它來完成任務。讓我們來看一個簡單的流程,瞭解如何刪除另一個工作表上不匹配條件的行。
步驟 1
考慮兩個 Excel 工作表,在一個工作表上有一份專案列表,在另一個工作表上是條件。
首先,右鍵單擊包含專案的工作表的表名,然後單擊“檢視程式碼”以開啟 VBA 應用程式。
右鍵單擊 > 檢視程式碼。
步驟 2
然後單擊“插入”,選擇“模組”,並將下面的程式碼複製到文字框中。
插入 > 模組 > 複製。
示例
Sub DeleteRow() Dim rng As Range Dim Rng1 As Range, Rng2 As Range Dim arr1 As Variant Dim arr2 As Variant Dim dic2 As Variant Dim OutArr As Variant xTitleId = "Delete Rows Matching" Set Rng1 = Application.Selection Set Rng1 = Application.InputBox("Range1 :", xTitleId, Rng1.Address, Type:=8) Set Rng2 = Application.InputBox("Range2:", xTitleId, Type:=8) Set Rng1 = Rng1.Columns(1) Set Rng2 = Rng2.Columns(1) Set dic2 = CreateObject("Scripting.Dictionary") arr1 = Rng1.Value arr2 = Rng2.Value For i = 1 To UBound(arr2, 1) xKey = arr2(i, 1) dic2(xKey) = "" Next Rng1.ClearContents OutArr = Rng1.Value xIndex = 1 For i = 1 To UBound(arr1, 1) xKey = arr1(i, 1) If dic2.Exists(xKey) Then OutArr(xIndex, 1) = xKey xIndex = xIndex + 1 End If Next Rng1.Value = OutArr End Sub
步驟 3
然後單擊 F5 執行模組,選擇專案範圍,然後單擊“確定”。
F5 > 選擇範圍 > 確定。
步驟 4
然後選擇包含條件的單元格,然後單擊“確定”以完成任務。
選擇單元格 > 確定。
結論
在本教程中,我們使用了一個簡單的示例來演示如何刪除另一個工作表上不符合條件的行,以突出顯示特定資料集。
廣告