ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Delete Row if value in row changes (https://www.excelbanter.com/excel-programming/428952-delete-row-if-value-row-changes.html)

jscorsone

Delete Row if value in row changes
 
I have a workbook with duplicate rows where multiple columns may remain the
same, but column F may change from row to row.

I'm trying to delete all rows that are direct duplicates of the row above it
so I can view just the rows where column F is different (if all other columns
are similar as row above.)

Thanks for any assistance!



Howard31[_3_]

Delete Row if value in row changes
 
Hi there,

Try the following:

Sub DeleteDublicatedRowsAtoE()
Dim Sht As Worksheet
Dim ColsStr1 As String, ColsStr2 As String
Dim LastRow As Long
Dim i As Long

Set Sht = ThisWorkbook.Worksheets("Sheet1")
With Sht
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row


For i = LastRow To 2 Step -1
ColsStr1 = _
.Cells(i, 1) & _
.Cells(i, 2) & _
.Cells(i, 3) & _
.Cells(i, 4) & _
.Cells(i, 5)

ColsStr2 = _
.Cells(i - 1, 1) & _
.Cells(i - 1, 2) & _
.Cells(i - 1, 3) & _
.Cells(i - 1, 4) & _
.Cells(i - 1, 5)

If ColsStr1 = ColsStr2 Then .Rows(i).Delete
Next i
End With
End Sub

"jscorsone" wrote in message
...
I have a workbook with duplicate rows where multiple columns may remain
the
same, but column F may change from row to row.

I'm trying to delete all rows that are direct duplicates of the row above
it
so I can view just the rows where column F is different (if all other
columns
are similar as row above.)

Thanks for any assistance!




jscorsone

Delete Row if value in row changes
 
Thank you so much for the speedy response.

Exactly what I was looking for, thanks again.

"Patrick Molloy" wrote:

this code removes rows that match for the first 7 columns. No point in
filter for column "G" as if it differs, it won't be deleted and you'll see
it anyways

Option Explicit
Sub removeDupes()
Dim matched As Boolean
Dim cl As Long ' column counte
Dim rw As Long ' row counter
For rw = 2000 To 2 Step -1
matched = True
For cl = 1 To 7
If Cells(rw, cl) < Cells(rw - 1, cl) Then
matched = False
Exit For
End If
Next
If matched Then
Rows(rw).Delete
End If
Next rw
End Sub




"jscorsone" wrote in message
...
I have a workbook with duplicate rows where multiple columns may remain
the
same, but column F may change from row to row.

I'm trying to delete all rows that are direct duplicates of the row above
it
so I can view just the rows where column F is different (if all other
columns
are similar as row above.)

Thanks for any assistance!





All times are GMT +1. The time now is 12:38 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com