ActiveSheet.Range(cells("$2", "$A"), cells("$" & CStr(mowz), "$Q"))._
RemoveDuplicates
Columns:=Array(1, 2, 6, 7, 8, 9), Header:=xlYes 这是我录制的宏,并用它在excel 2007 vba.But中删除重复项我得到了一个新任务solve.That是我必须删除重复的行,当且仅当它的"Rth“列中有值2,否则它不应该删除它,即使它是重复的。
有没有办法在复制行宏中加入一个条件?请让我知道。任何建议都会被接受
在我的工作表中,我有16列,如果1,2,6,7,8,9列中有相同的值,上面的宏会删除重复的列,但问题是,如果它有所有的6列复制,并且在它的第r列中也有一个"2“值,那么它必须删除它,如果第r列有其他值,即使所有6列都是相同的,它也不应该删除它。
发布于 2011-08-16 18:11:05
我不知道你的其他代码,所以我不能集成它,但是这里有一个sub(),它将遍历你的R列,如果它在R列中找到"2“,它将删除整行。您可以通过添加"Call Delete2s“将其添加到其他代码中("call”是可选的,但我倾向于包含它)。
Sub Delete2s()
Range(Cells(1, "R"), Cells(Rows.Count, "R").End(xlUp)).Select
Dim lastRow As Long
lastRow = ActiveSheet.UsedRange.Rows.Count
For i = lastRow To 1 Step -1
If Selection.Rows(i).Value = 2 Then
Selection.Rows(i).EntireRow.Delete
End If
Next
End Sub它是如何工作的:它找到R列中使用的最后一个单元格(你可以调整它),然后向后循环(当你删除单元格时你需要这样做,否则你会搞乱循环)。如果值为2,则删除整行!
https://stackoverflow.com/questions/7074317
复制相似问题