Sure, the "trick" is that you have to start at the last row and work your way 
"up".
because otherwise, when you delete a row, the "next" row moves up into the 
deleted position, then the loop would skip over that record.
By starting at the bottom, the row that moves up has already been processed..
the macro would look something like:Sub Delete_By_Year()
    Dim nRows, nRow
    Application.ScreenUpdating = False    On Error Resume Next
    nRows = Application.WorksheetFunction.CountA(Range("A:A"))
    For nRow = nRows To 1 Step -1
        If (nRow Mod 1000 = 0) Then Application.StatusBar = "Processing " & nRow
        If ((Year(Cells(nRow, "H").Value) = 2011) _
         Or (Year(Cells(nRow, "H").Value) = 2012)) Then
            Cells(nRow, "A").EntireRow.Delete
        End If
    Next nRow
    Application.ScreenUpdating = True
    Application.StatusBar = False
    MsgBox "finished"
End Sub
Paul-----------------------------------------
“Do all the good you can,
By all the means you can,
In all the ways you can,
In all the places you can,
At all the times you can,
To all the people you can,
As long as ever you can.” - John Wesley
----------------------------------------- 

    On Tuesday, December 5, 2017 2:46 AM, Pravin Gunjal <isk1...@gmail.com> 
wrote:
 

 Hi Experts
I want to delete those rows which belongs to Year 2011 & 2012 available as per 
column H of "Expiry Date"


Can we do it by any macro. Thank you in anticipation.
Regards,
Pravin Gunjal.-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel
 
FORUM RULES
 
1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.
 
NOTE : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups "MS 
EXCEL AND VBA MACROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at https://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/d/optout.


   

-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.

NOTE  : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups "MS 
EXCEL AND VBA MACROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at https://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/d/optout.

Reply via email to