View Single Post
 
Old 03-11-2014, 07:06 AM
damaniam damaniam is offline Windows 7 64bit Office 2013
Novice
 
Join Date: Nov 2013
Posts: 18
damaniam is on a distinguished road
Default Find and Delete Rows based on a range

Looking for a macro to delete rows where Column A contains a certain value. I've attached a copy of the worksheet (sanitized to remove any personal info). This will be typical application. The goal here is to delete all row based upon the following information, if a row is found to contain that information in column A otherwise move on down the list. While the number list could possibly contain up to 4k lines, in any given scenario only about 300 lines will be used at most.
5000-5999 Delete
6000-6899 Keep
7000-7499 Keep
7500-8299 Delete
8400-9599 Delete
8300-8399 Keep
9600-9699 Keep
9700-9999 Delete

The following macro is one that I have used in the past for a similar idea but not sure how to alter it to run for so many possible numbers.

Code:
Sub DeleteExcess()


'THIS DELETES ALL ROWS WHERE THE VALUE IN COLUMN A IS "P"
    Dim FoundCell As Range
    Application.ScreenUpdating = False
    Set FoundCell = Range("A4:A220").Find(what:="p")
    Do Until FoundCell Is Nothing
        FoundCell.EntireRow.Delete
        Set FoundCell = Range("A4:A220").FindNext
    Loop
End Sub
Thanks in advance for the help.


Cross posted at http://www.excelforum.com/excel-prog...ml#post3616238
Attached Files
File Type: xlsx Sanitary Worksheet.xlsx (16.5 KB, 16 views)
Reply With Quote