This post will guide you how to auto filter a given range of cells based on a certain cell value in Excel 2013/2016. How do I use VBA Autofilter function to filter the data based on a cell value in Excel.
For example, you wish to quickly filter the data in range A1:B5 based on a cell value that you entered in A9, and then the data will be filtered automatically in range A1:B5. Of course, you can use the inbuilt filter functionality with copy-paste operations, and it will take you a lot of time to do it manually. So you can use VBA AutoFilter to filter data quickly so that to save your time.
AutoFilter a Table based on a Cell Value using VBA Macro
Just do the following steps:
Step1: Go to your worksheet that you want to create VBA AutoFilter macro to autofilter the data based on cell value that you typed.
Step2: right click on the sheet tab in your current worksheet, and select View Code from the pop-up menu list, and then the Visual Basic for Application window will appear.
Step3: you need to copy and paste the below VBA Macro code into the code window. And then close it.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("A9").Address Then Range("A1:B5").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A8:A9") End If End Sub
Step4: type the first value “version” in Cell A8, and then type another value “2016” as a criteria, press Enter key.
Step5: you would see that your data is filtered based on cell value that you entered.
Note: the range A1:B5 is your data that you want to filter out. And A8:A9 is your criteria range cells that will be filtered based on.
When you change the cell value in Cell A9, your data also be filtered based on cell value in A9 automatically.