I have data with duplicates (column "c") and I want to delete the row that has numbers in column "D". but only for the duplicates with odd dates, as seen in the picture
this is the code im using, but i dont know how to delete the row with data in "D" and is a duplicate
Sub del_doops()
Dim RowNdx As Long
Dim RowNdx2 As Long
For RowNdx = Range("A1:f1").End(xlDown).Row To 2 Step -1
For RowNdx2 = RowNdx - 1 To 1 Step -1 'Begin at one above RowNdx
If Cells(RowNdx, "b").Value = Cells(RowNdx2, "b").Value And _
Cells(RowNdx, "C").Value = Cells(RowNdx2, "C").Value And _
Cells(RowNdx, "E").Value = Cells(RowNdx2, "E").Value And _
Cells(RowNdx, "F").Value <> Cells(RowNdx2, "F").Value Then
Rows(RowNdx2).Delete 'this is where i need help
End If
Next RowNdx2
Next RowNdx
End Sub
Change Sheet1
to the name of your sheet in Set wS = ThisWorkbook.Sheets("Sheet1")
:
Sub del_doops()
Dim RowNdx As Long
Dim RowNdx2 As Long
Dim wS As Worksheet
Set wS = ThisWorkbook.Sheets("Sheet1")
With wS
For RowNdx = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
For RowNdx2 = RowNdx - 1 To 1 Step -1 'Begin at one above RowNdx
If .Cells(RowNdx, "B").Value = .Cells(RowNdx2, "B").Value And _
.Cells(RowNdx, "C").Value = .Cells(RowNdx2, "C").Value And _
.Cells(RowNdx, "E").Value = .Cells(RowNdx2, "E").Value And _
.Cells(RowNdx, "F").Value <> .Cells(RowNdx2, "F").Value Then
If .Cells(RowNdx, "D").Value <> vbNullString Then
.Rows(RowNdx).Delete
Else
If .Cells(RowNdx2, "D").Value = vbNullString Then .Rows(RowNdx2).Delete
End If
End If
Next RowNdx2
Next RowNdx
End With 'wS
End Sub
Sub del_doops()
Dim RowNdx As Long
Dim RowNdx2 As Long
For RowNdx = Range("A1:f1").End(xlDown).Row To 2 Step -1
For RowNdx2 = RowNdx - 1 To 1 Step -1 'Begin at one above RowNdx
If Cells(RowNdx, "B").Value = Cells(RowNdx2, "B").Value And _
Cells(RowNdx, "C").Value = Cells(RowNdx2, "C").Value And _
Cells(RowNdx, "E").Value = Cells(RowNdx2, "E").Value And _
Cells(RowNdx, "F").Value = Cells(RowNdx2, "F").Value Then
If Cells(RowNdx, "D").Value = vbNullString And _
Cells(RowNdx2, "D").Value <> vbNullString Then
Rows(RowNdx2).Delete
Else
Rows(RowNdx).Delete
End If
End If
Next RowNdx2
Next RowNdx
End Sub
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With