title: It is possible to trap AutoFilter as an Event?
body: <p>I am trying to show the filter columns to users in the report. Excel gives a different icon but for large no. columns it will be good to color the columns in another color like blue. </p>
  
  <p>I found code at <a href="https://stackoverflow.com/questions/39259641/is-there-a-way-to-see-which-filters-are-active-in-excel-other-than-just-the-fun">Is there a way to see which filters are active in Excel, other than just the funnel icons?</a></p>
  
  <ul>
  <li>It works for me, but how do start this code without any button</li>
  <li>SheetChange and selection change do not work.</li>
  </ul>
  
  <p><em>code</em></p>
  
  <pre><code>Sub test()
  Call markFilter(ActiveSheet)
  End Sub
  
  
  Sub markFilter(wks As Worksheet)
  
      Dim lFilCol As Long
  
      With wks
          If .AutoFilterMode Then
              For lFilCol = 1 To .AutoFilter.Filters.Count
  
                  '/ If filter is applied then mark the header as bold and font color as red
                  If .AutoFilter.Filters(lFilCol).On Then
                      .AutoFilter.Range.Columns(lFilCol).Cells(1, 1).Font.Color = vbRed
                      .AutoFilter.Range.Columns(lFilCol).Cells(1, 1).Font.Bold = True
                  Else
                       '/ No Filter. Column header font normal and black.
                      .AutoFilter.Range.Columns(lFilCol).Cells(1, 1).Font.Color = vbBlack
                      .AutoFilter.Range.Columns(lFilCol).Cells(1, 1).Font.Bold = False
                  End If
              Next
          Else
              '/ No Filter at all. Column header font normal and black.
              .UsedRange.Rows(1).Font.Color = vbBlack
              .UsedRange.Rows(1).Font.Bold = False
          End If
      End With
  End Sub
  </code></pre>