Macro to delete rows

K

Ken G

I need a macro to search through a sheet of approximately 5,000 rows and
delete any row where the length of the string in column A is greater than 5.
I'm using Excel 2003. Can anyone help?
 
J

JLGWhiz

This should work:


Sub delSixUp()
Dim lastRow As Long, i As Long
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = lastRow To 2 Step -1
If Len(Trim(ActiveSheet.Cells(i, 1).Value)) > 5 Then
Cells(i, 1).EntireRow.Delete
End If
Next
End Sub
 
J

Jacob Skaria

Try

Sub MyMacro()
Dim lngRow As Long
For lngRow = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
If Len(Range("A" & lngRow)) > 5 Then Rows(lngRow).Delete
End If
Next
End Sub
 
K

Ken G

Thanks Jacob. Perfect.

Jacob Skaria said:
Try

Sub MyMacro()
Dim lngRow As Long
For lngRow = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
If Len(Range("A" & lngRow)) > 5 Then Rows(lngRow).Delete
End If
Next
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top