Excel 根据列中的值删除范围内的行
我需要创建一个宏,只查看特定列中的每个单元格,即不查看整个电子表格并从特定行开始。然后,它将拥有所有不包含我的兴趣值的行 比如说,我的目标是搜索A列中的每一个值,我将从A2过滤到A9999999,留下A1不变。然后我将删除A列中不包含103526和103527的每一行 下面的代码能够过滤我感兴趣的值的所有行,但是,我在过滤一列以及从A2到A9999999时遇到问题。如何更改此代码以满足这些条件Excel 根据列中的值删除范围内的行,excel,delete-row,vba,Excel,Delete Row,Vba,我需要创建一个宏,只查看特定列中的每个单元格,即不查看整个电子表格并从特定行开始。然后,它将拥有所有不包含我的兴趣值的行 比如说,我的目标是搜索A列中的每一个值,我将从A2过滤到A9999999,留下A1不变。然后我将删除A列中不包含103526和103527的每一行 下面的代码能够过滤我感兴趣的值的所有行,但是,我在过滤一列以及从A2到A9999999时遇到问题。如何更改此代码以满足这些条件 Sub test() Dim j As Integer, k As Integer D
Sub test()
Dim j As Integer, k As Integer
Dim r As Range, cfind6 As Range, cfind7 As Range
Worksheets("sheet1").Activate
On Error Resume Next
j = Cells(Rows.Count, "A").End(xlUp).Row
For k = j To 1 Step -1
Set cfind6 = Rows(k).Cells.Find(what:=103526, lookat:=xlWhole)
Set cfind7 = Rows(k).Cells.Find(what:=103527, lookat:=xlWhole)
If cfind6 Is Nothing And cfind7 Is Nothing Then Rows(k).Delete
Next
有两种不同的方法可以实现这一点,一种方法是将代码更改为:
Sub test()
Dim i As Integer
Dim ws As Worksheet
Set ws = ActiveWorkbook.Sheets("Sheet1")
For i = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Not (ws.Cells(i, 1).Value = 103526 Or ws.Cells(i, 1).Value = 103527) Then
ws.Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub