Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I would like to show in a cell the criteria entered into a custom filter of
data for example, if the custom criteria was set as = 3000 then either enter 3000 in a cell or the text "greater than or equal to 3000" Is this possible within a worksheet function? any examples would be most welcome. Thanks, Rob |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Courtesy of Tom Ogilvy
You use it like so =showfilter(L1)&CHAR(SUBTOTAL(9,L2)*0+32) The CHAR(SUBTOTAL bit is just to force a recalc if the criteria are changed Public Function ShowFilter(rng As Range) Dim filt As Filter Dim sCrit1 As String Dim sCrit2 As String Dim sop As String Dim lngOp As Long Dim lngOff As Long Dim frng As Range Dim sh As Worksheet Set sh = rng.Parent If sh.FilterMode = False Then ShowFilter = "No Active Filter" Exit Function End If Set frng = sh.AutoFilter.Range If Intersect(rng.EntireColumn, frng) Is Nothing Then ShowFilter = CVErr(xlErrRef) Else lngOff = rng.Column - frng.Columns(1).Column + 1 If Not sh.AutoFilter.Filters(lngOff).On Then ShowFilter = "No Conditions" Else Set filt = sh.AutoFilter.Filters(lngOff) On Error Resume Next sCrit1 = filt.Criteria1 sCrit2 = filt.Criteria2 lngOp = filt.Operator If lngOp = xlAnd Then sop = " And " ElseIf lngOp = xlOr Then sop = " or " Else sop = "" End If ShowFilter = sCrit1 & sop & sCrit2 End If End If End Function -- HTH RP (remove nothere from the email address if mailing direct) "Rob" wrote in message ... I would like to show in a cell the criteria entered into a custom filter of data for example, if the custom criteria was set as = 3000 then either enter 3000 in a cell or the text "greater than or equal to 3000" Is this possible within a worksheet function? any examples would be most welcome. Thanks, Rob |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This is just brilliant, thanks Bob and of course Tom for creating the piece
of work. Regards, Rob "Bob Phillips" wrote in message ... Courtesy of Tom Ogilvy You use it like so =showfilter(L1)&CHAR(SUBTOTAL(9,L2)*0+32) The CHAR(SUBTOTAL bit is just to force a recalc if the criteria are changed Public Function ShowFilter(rng As Range) Dim filt As Filter Dim sCrit1 As String Dim sCrit2 As String Dim sop As String Dim lngOp As Long Dim lngOff As Long Dim frng As Range Dim sh As Worksheet Set sh = rng.Parent If sh.FilterMode = False Then ShowFilter = "No Active Filter" Exit Function End If Set frng = sh.AutoFilter.Range If Intersect(rng.EntireColumn, frng) Is Nothing Then ShowFilter = CVErr(xlErrRef) Else lngOff = rng.Column - frng.Columns(1).Column + 1 If Not sh.AutoFilter.Filters(lngOff).On Then ShowFilter = "No Conditions" Else Set filt = sh.AutoFilter.Filters(lngOff) On Error Resume Next sCrit1 = filt.Criteria1 sCrit2 = filt.Criteria2 lngOp = filt.Operator If lngOp = xlAnd Then sop = " And " ElseIf lngOp = xlOr Then sop = " or " Else sop = "" End If ShowFilter = sCrit1 & sop & sCrit2 End If End If End Function -- HTH RP (remove nothere from the email address if mailing direct) "Rob" wrote in message ... I would like to show in a cell the criteria entered into a custom filter of data for example, if the custom criteria was set as = 3000 then either enter 3000 in a cell or the text "greater than or equal to 3000" Is this possible within a worksheet function? any examples would be most welcome. Thanks, Rob |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Macro/ custom filter, criteria="abc" or blank | Excel Discussion (Misc queries) | |||
Auto filter custom filter | Excel Worksheet Functions | |||
Getpivotdata....showing filter | Excel Worksheet Functions | |||
Showing custom toolbars on one W/S only | Excel Discussion (Misc queries) | |||
"Criteria Range" in the "Data/Filter/Advanced Filter" to select Du | Excel Worksheet Functions |