Requirement:
In range A6:A502 the user needs to delete row(s) if that range contains "Thumbs.db"
The Code the user has below does the job, but takes a long time to go through each cell in range and triggers other code due to Selection Change, which the user does not want happening, so needs a better solution.
Sub RemoveLines() Dim Counter As Long ' Start at Range("A6").Select For Counter = 1 To 505 If ActiveCell.Value Like "Thumbs.db" Then ActiveCell.EntireRow.Delete ' Delete Row Else ActiveCell.Offset(1, 0).Select ' Move down a row End If Next Counter End Sub
Solution:
Sub deleteRows() With Range("A6:A502") .Replace "Thumbs.db", "#N/A", xlWhole .SpecialCells(xlConstants, xlErrors).EntireRow.Delete End With End Sub
Obtained from the OzGrid Help Forum.
Solution provided by Mumps.
See also: Index to Excel VBA Code and Index to Excel Freebies and Lesson 1 - Excel Fundamentals and Index to how to… providing a range of solutions and Index to new resources and reference sheets
See also:
How to delete rows containing certain keywords in cells |
How to delete rows with no value |
How to loop each row if there is data after green colour cell then delete |
How to use VBA to delete rows based on multiple conditions |
Click here to visit our Free 24/7 Excel/VBA Help Forum where there are thousands of posts you can get information from, or you can join the Forum and post your own questions.