is it possible to creat a loop for the sample "Filter dates between two specific dates with VBA code"? Because i have a lot of dates and not just one as shown here.
Sometime you may only want to filter data or records between two specific dates in Excel. For example, you want to show the sales records between 9/1/2012 and 11/30/2012 together in Excel with hiding other records. This article focuses on ways to filter dates between two specific dates in Excel easily.
Supposing you have following report, and now you want to filter the items between 9/1/2012 and 11/30/2012 so that you can quickly summarize some information. See screenshots:
Microsoft Excel's Filter command supports to filter all dates between two dates with following steps:
Step 1: Select the date column, Column C in the case. And click Data > Filter, see screenshot:
Step 2: Click the arrow button besides the title of Column C. And move mouse over the Date Filters, and select the Between item in the right list, see the following screenshot:
Step 3: In the Popping up Custom AutoFilter dialog box, specify the two dates that you will filter by. See the following steps:
Step 4: Click OK. Now it filters the Date column between the two specific dates, and hides other records as the following screenshot shows:
The following short VBA code also can help you to filter the dates between two specific dates, please do as this:
Step 1: Input the two specific dates in the blank cells. In this case, I enter start date 9/1/2012 in cell E1, and enter end date 11/30/2012 in cell E2.
Step 2: Then hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
Step 3: Click Insert > Module, and paste the following code in the Module Window.
Public Sub MyFilter() Dim lngStart As Long, lngEnd As Long lngStart = Range("E1").Value 'assume this is the start date lngEnd = Range("E2").Value 'assume this is the end date Range("C1:C13").AutoFilter field:=1, _ Criteria1:=">=" & lngStart, _ Operator:=xlAnd, _ Criteria2:="<=" & lngEnd End Sub
Step 4: Then press F5 key to run this code, and the records between 9/1/2012 and 11/30/2012 have been filtered.
In this section, we recommend you the Select Specific Cells utility of Kutools for Excel. With this utility, you can easily select all rows between two specific dates in a certain range, and then move or copy these rows to another place in your workbook.
1: Select the range that you will filter by two dates, and then click Kutools > Select > Select Specific Cells…
2: In the Select Specific Cells dialog box, specify the settings as below
1). Select Entire row option in the Selection type section.
2). In the Specific type section, please successively select Greater than or equal to and Less than or equal to in the two drop-down lists. Then enter the start date and end date into the following textboxes.
3). Click the OK button. See screenshot:
Now all rows which match the criterion have been selected. And then you can copy and paste the selected rows to a needed range as you need.
Kutools for Excel includes more than 120 handy Excel tools. Free to try with no limitation in 60 days. Download the free trial now!
Bring handy tabs to Excel and other Office software, just like Chrome, Firefox and new Internet Explorer.
Amazing! Increase your productivity in 5 minutes. Don't need any special skills, save two hours every day!
200 New Features for Excel, Make Excel Much Easy and Powerful: