Filter Data for Current Month or Year

How to automate filtering of data for current month, current year, last month or last year using VBA.
Here’s the complete VBA code:
Option Explicit

Sub showCurrentMonthData()
Sheet1.Range(“A1:C15”).AutoFilter field:=3, Criteria1:=xlFilterThisMonth, Operator:=xlFilterDynamic
End Sub

Sub showAllData()
On Error Resume Next
End Sub

Sub showCurrentYearData()
Sheet1.Range(“A1:C15”).AutoFilter field:=3, Criteria1:=xlFilterThisYear, Operator:=xlFilterDynamic

End Sub

Sub showLastYearData()
Sheet1.Range(“A1:C15”).AutoFilter field:=3, Criteria1:=xlFilterLastYear, Operator:=xlFilterDynamic

End Sub

Sub showLastMonthData()
Sheet1.Range(“A1:C15”).AutoFilter field:=3, Criteria1:=xlFilterLastMonth, Operator:=xlFilterDynamic

End Sub

Published by

Dinesh Kumar Takyar

Welcome to! My aim is to help you learn MS Excel including VBA. I always felt that a good way to learn something was to find solutions to problems in that domain. That is why I share these Excel videos with you. Mostly these are questions asked during my corporate training sessions. I've been training individuals and companies in computers since 1991. I did my B. Sc. (Vordiplom), M. Sc. (Diplom) and Ph.D. (Dr. rer. nat.) from Hamburg, Germany. The best thing about solving some of my visitor's questions is that I also gain new insights. For more Excel VBA solutions you may like to visit my YouTube channel: For a structured Excel VBA training course online you can visit:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.