Written by Allen Wyatt (last updated February 4, 2023)
This tip applies to Excel 97, 2000, 2002, and 2003
Gus asked if there was a way to change the color of the drop-down arrows that appear at the top of each column when AutoFilter is turned on. When a filter is not applied to a column, the drop-down arrow is black; when a filter is applied, the drop-down arrow is navy blue. Gus wanted to change the colors because there isn't enough contrast between black and navy blue on his monitor.
Unfortunately, it appears that the color of the drop-down arrows is hard-coded into Excel and cannot be changed. You can try a workaround, if you desire, that would instead color the first cell in each of the filtered columns. Add the following macro to a regular module in the workbook:
Sub ColorDisplayFilter() Dim flt As Filter Dim iCol As Integer Dim lRow As Long iCol = 0 lRow = ActiveSheet.AutoFilter.Range.Row Application.EnableEvents = False For Each flt In ActiveSheet.AutoFilter.Filters iCol = iCol + 1 If flt.On Then Cells(lRow, iCol).Interior.Color = vbYellow Else Cells(lRow, iCol).Interior.ColorIndex = xlColorIndexNone End If Next flt Application.EnableEvents = True End Sub
The code steps through the filters for a worksheet and, if the filter is active for a column, colors the first cell yellow. If the filter is not active, then it gets rid of the yellow color.
To trigger the routine so that it runs automatically, there are two things you need to do. First of all, you need to add the following macro to the thisWorkbook object:
Private Sub Workbook_SheetCalculate(ByVal Sh As Object) If Sh.AutoFilterMode Then ColorDisplayFilter End Sub
This triggers every time the worksheet is calculated. If the AutoFilterMode property is True, then the coloring macro is executed.
The second thing you need to do is add a SUBTOTAL formula to your worksheet. Assuming that column A is one of the columns in the filter, you could add the following to the worksheet:
=SUBTOTAL(9,A:A)
The SUBTOTAL function is recalculated every time a filter is changed, so this helps ensure that the coloring macro is executed. The formula can be hidden, if desired, but it must be on the worksheet that has the filter to ensure that the sheet triggers the event.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2371) applies to Microsoft Excel 97, 2000, 2002, and 2003.
Best-Selling VBA Tutorial for Beginners Take your Excel knowledge to the next level. With a little background in VBA programming, you can go well beyond basic spreadsheets and functions. Use macros to reduce errors, save time, and integrate with other Microsoft applications. Fully updated for the latest version of Office 365. Check out Microsoft 365 Excel VBA Programming For Dummies today!
Excel limits the number of items that can be shown in an AutoFilter drop-down list. Granted, it is a high limit, but it ...
Discover MoreIf you have a large number of data records, each with an associated date, you might want to filter that data so you see ...
Discover MoreExcel's AutoFilter tool is a great way to make a long list of items much more manageable. This tip explains how to set up ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments