Premium Excel Course Now Available!

Build Professional - Unbreakable - Forms in Excel

45 Tutorials - 5+ Hours - Downloadable Excel Files

Instant Access! - Lifetime Access!

Filter Data in Excel to Display Records that Contain a Value Between Two Values - AutoFilter.

Add to Favorites

This free Excel macro filters data to display only those records or rows that contain a value between two values. For example, you could display all of the salesmen whose sales are between $50,000 and $75,000 for the quarter. You can use any number and apply it to any data set that contains number where you need to display all of the records that are within a certain range.

To use this macro, just replace "50000" with the number you want to use for the lower end of the range and replace "75000" with the number that you would like to use for the upper end of the range. Make sure to leave the ">" and "<" in place because this is what makes the macro work.

How Filter Macros Work

All of the elements below often appear within autofilter macros.


  • This should be the start of the data set, table, or list which you would like to filter. This can also be the entire range reference to the table. For example, if the table was from cell A1:D450, you could put that as the range or you could put A1 as the range. You can do this because the autofilter feature in Excel will automatically try to determine the total range which you would like to filter.


  • This is the number of the column within the data table that you would like to filter. The first field (1) is the very first column in the data set that will be filtered. This means that if your data starts in column B and your range is Range("B1") and you want to filter based on column D, you would put 3 in for the field.


  • This is the criteria by which you would like to filter. Some of the macros have symbols within the quotation marks after this argument and those symbols (such as <,>,*,?, etc.) should be left where they are in order to retain the functionality of the macro.


  • You will not have to change this. This is simply the way to perform different types of filter features in Excel.

Where to install the macro:  Module

Excel Macro to Filter Data in Excel to Display Records that Contain a Value Between Two Values - AutoFilter.

Sub AutoFilter_in_Excel_Above_Below_Num()

 'This autofilter macro displays records with a number between 50000 and 75000 within the first field - in this case in column A
 'It is important to retain the ">" and "<" signs within this macro because that it what makes this work correctly
  Range("A1").AutoFilter Field:=1, Criteria1:=">50000", Operator:=xlAnd, Criteria2:="<75000"

End Sub

How to Install the Macro
  1. Select and copy the text from within the grey box above.

  2. Open the Microsoft Excel file in which you would like the Macro to function.

  3. Press "Alt + F11" - This will open the Visual Basic Editor - Works for all Excel Versions.  Or For other ways to get there, Click Here.

  4. On the new window that opens up, go to the left side where the vertical pane is located. Locate your Excel file; it will be called VBAProject (YOUR FILE'S NAME HERE) and click this.

  5. If the Macro goes in a Module, Click Here, otherwise continue to Step 8.

  6. If the Macro goes in the Workbook or ThisWorkbook, Click Here, otherwise continue to Step 8.

  7. If the Macro goes in the Worksheet Code, Click Here, otherwise continue to Step 8.

  8. Close the Microsoft Visual Basic Editor window and save the Excel file. When you close the Visual Basic Editor window, the regular Excel window will not close.

  9. You are now ready to run the macro.

Tutorial Details
Excel Forum