我想在现有宏中插入一些代码,删除除O和P列中具有特定值组合的行之外的所有行。组合在I3中:I13和J3:13。
换句话说,我想保留列O和P中的行分别对应于I3和J3,或者分别对应I6和J6等,并删除所有其他行。
非常感谢任何帮助。
由于
答案 0 :(得分:0)
远非完美但没有样本数据我假设了一些事情。
Sub deleteRow()
Dim lastRow As Integer, matchVal As String, searchVal As String
lastRow = Range("A5000").End(xlUp).Row
For i = lastRow To 3 Step -1
matchVal = Cells(i, 9).Value & " " & Cells(i, 10).Value
searchVal = Cells(i, 15).Value & " " & Cells(i, 16).Value
If matchVal <> searchVal Then Cells(i, 1).EntireRow.Delete
Next i
MsgBox "Next time I will add an example to my question"
End Sub
如果I和J中的值与O和P中的值不相等,则该行将被删除。
答案 1 :(得分:0)
不确定这是否是您想要的:
Sub Test()
Dim r As Range
Dim i As Long
Dim col1 As Long
Dim col2 As Long
Dim count As Long
col1 = Range("I:I").column
col2 = Range("J:J").column
count = ActiveSheet.Range("I3").End(xlDown).row
For i = count To 3 Step -1
If Cells(i, col1) <> Cells(i, col1).Offset(0, 6) Or Cells(i, col2) <> Cells(i, col2).Offset(0, 6) Then
Rows(i).Delete
End If
Next
End Sub