How to hide rows based on today’s date in Excel?
Supposing you have a fruit table in a worksheet as left screenshot shown, and you need to hide all rows before or after current date (6/14/2016) in the table. This article provides three methods for you.
Recommended Excel Productivity Tools
With the Filter function in Excel, you can easily filter out all needed rows and hide all unwanted rows based on today’s date.
1. In the table, please click the drop-down button on the Date column, and then click Date Filters > Before or After. See screenshot:
1. If there has no drop-down button existing at the top of your date column, please enable the Filter by clicking Data > Filter.
2. For hiding all rows before today’s date, please select the After option. Otherwise, choose the Before option. Here I need to hide all rows before today’s date and keep all rows after today’s date, so I select the After option.
2. In the Custom AutoFilter dialog box, click the Date Picker button next to the is after box, and then click the Today button in the calendar. And then click the OK button.
Then all rows before today’s date are hidden immediately.
You can also apply VBA code to hide rows based on today’s date in Excel. Please do as follows.
1. Press Alt + F11 keys simultaneously to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, please click Insert > Module. Then copy and paste the following VBA code into the window.
VBA code: Hide rows based on today’s date in Excel
Private Sub Hidebtn_Click() Dim xRg As Range Dim xTxt As String Dim xCell As Range On Error Resume Next If ActiveWindow.RangeSelection.Count > 1 Then xTxt = ActiveWindow.RangeSelection.AddressLocal Else xTxt = ActiveSheet.UsedRange.AddressLocal End If Set xRg = Application.InputBox("Please select range:", "Kutools for Excel", xTxt, , , , , 8) If xRg Is Nothing Then Exit Sub Application.ScreenUpdating = False For Each xCell In xRg If xCell.Value < Now Then xCell.EntireRow.Hidden = True End If Next End Sub
3. Press the F5 key, in the popping up Kutools for Excel dialog box, select the date range column, and then click the OK button.
Now all rows before today’s date are hidden immediately.
1. < Now means all rows before today’s date will be hidden after running the code. For hiding all rows after today’s date, please change < Now to > Now.
2. For displaying all hidden rows, please apply the below VBA code.
VBA code: unhide all hidden rows in Excel
Private Sub Showbtn_Click() Rows.EntireRow.Hidden = False End Sub
With the Select Specific Cells utility of Kutools for Excel, you can easily select all rows before or after today’s date, and then hide them manually.
|Kutools for Excel : with more than 300 handy Excel add-ins, free to try with no limitation in 60 days.|
1. Select the date list in your table, and then click Kutools > Select > Select Specific Cells. See screenshot:
2. In the Select Specific Cells dialog box, select the Entire row option in the Selection type section, and select Less than or Greater than option (here I select the Less than option) in the first Specific type drop-down list, then enter today’s date into the next text box. Finally click the OK button. See screenshot:
3. Then a dialog box pops up to tell you how many rows were selected, please click the OK button. And you can see all rows before today’s date are selected as below screenshot shown.
4. Right click on the selection, then click Hide in the right-clicking menu to hide all selected rows before today’s date.
|You can download and try the free trial of Kutools for Excel now!|
- How to hide checkbox when row is hidden in Excel?
- How to hide/unhide rows or columns with plus or minus sign in Excel?