我已经将一个公式应用于一个特定的单元格,一个计数if,以确保它在第一次出现时显示数字为0,并且向前显示1和2等。
现在我需要宏中的帮助来删除数字不是0或N / A的所有时间(它不是文本的地方,不应该被删除)。我尝试录制宏并略微更改我的凭据,但它根本不起作用。请帮忙。考虑到我试图做出的所有迭代,它现在处于糟糕的状态。
raw.Range("D3:D" & lastRow).Formula = "=IF(OR(AND(A1="""",A2=""""),AND(A1="""",A4<>"""")),""N/A"",COUNTIF(A$1:A2,A3))"
Rows("A:D" & lastRow).Select
Selection.AutoFilter
ActiveSheet.Range("$A$3:$E" & lastRow).AutoFilter Field:=4, Criteria:<>("0"), Operator:=xlFilterValues
Rows("1830:1830").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$3:$E$3585").AutoFilter Field:=4
答案 0 :(得分:0)
这将删除每行重复的前四个单元格。它使第一列在列A中具有重复值。任何重复的文本值也保持不变。
Sub deleteDuplicates()
With Worksheets("Sheet1")
iRow = .Cells(1, 1).End(xlDown).Row
While iRow > 0
If Application.WorksheetFunction.CountIf(.Range(.Cells(1, 1), .Cells(iRow, 1)), .Cells(iRow, 1)) > 1 _
And Application.WorksheetFunction.IsNumber(.Cells(iRow, 1)) Then
.Range(.Cells(iRow, 1), .Cells(iRow, 4)).Select
Selection.Delete Shift:=xlUp
End If
iRow = iRow - 1
Wend
End With
End Sub