Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Dennis
 
Posts: n/a
Default How to make Bullen's FilterCriteria() data refresh real-time?

Using XL 2003 & 2000

OK, with help, I was able to utilize Steve Bullen's FilterCriteria() Function.

That said, apparently the only way to refresh the data in the display cell
is to re-activate the formula by pressing <ENTER in the Fx Box.

Can the display cells be made to refresh in real-time or, second best, by F9?

FYI (Background Info):

************************************************** **********II placed this
formula into cell A1: =FilterCriteria(A3)
Cell A3 contains the Autofilter down-arrow for column A
************************************************** ***********
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Dim Filter As String
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCriteria = Filter
End Function
************************************************** ***********

Also, why does this formula not refresh as do other formulas in the
worksheet? Is it because this particlar Function must be "force-called" for
each refresh?

TIA Dennis
  #2   Report Post  
Dave Peterson
 
Posts: n/a
Default

You could make your formula look like:

=filtercriteria(A1)&TEXT(RAND(),"")

or you could add "application.volatile" to your code.

Option Explicit
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Application.Volatile
Dim Filter As String

But the bad thing is that either way, the formula won't recalculate until excel
recalculates.

Hit F9 to force a recalc before you trust the value in the cell.

Dennis wrote:

Using XL 2003 & 2000

OK, with help, I was able to utilize Steve Bullen's FilterCriteria() Function.

That said, apparently the only way to refresh the data in the display cell
is to re-activate the formula by pressing <ENTER in the Fx Box.

Can the display cells be made to refresh in real-time or, second best, by F9?

FYI (Background Info):

************************************************** **********II placed this
formula into cell A1: =FilterCriteria(A3)
Cell A3 contains the Autofilter down-arrow for column A
************************************************** ***********
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Dim Filter As String
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCriteria = Filter
End Function
************************************************** ***********

Also, why does this formula not refresh as do other formulas in the
worksheet? Is it because this particlar Function must be "force-called" for
each refresh?

TIA Dennis


--

Dave Peterson
  #3   Report Post  
Bob Phillips
 
Posts: n/a
Default

But changing the filter criteria forces a recalc, and that is what drives
the function, so that should be fine.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Dave Peterson" wrote in message
...
You could make your formula look like:

=filtercriteria(A1)&TEXT(RAND(),"")

or you could add "application.volatile" to your code.

Option Explicit
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Application.Volatile
Dim Filter As String

But the bad thing is that either way, the formula won't recalculate until

excel
recalculates.

Hit F9 to force a recalc before you trust the value in the cell.

Dennis wrote:

Using XL 2003 & 2000

OK, with help, I was able to utilize Steve Bullen's FilterCriteria()

Function.

That said, apparently the only way to refresh the data in the display

cell
is to re-activate the formula by pressing <ENTER in the Fx Box.

Can the display cells be made to refresh in real-time or, second best,

by F9?

FYI (Background Info):

************************************************** **********II placed

this
formula into cell A1: =FilterCriteria(A3)
Cell A3 contains the Autofilter down-arrow for column A
************************************************** ***********
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Dim Filter As String
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCriteria = Filter
End Function
************************************************** ***********

Also, why does this formula not refresh as do other formulas in the
worksheet? Is it because this particlar Function must be "force-called"

for
each refresh?

TIA Dennis


--

Dave Peterson



  #4   Report Post  
Dave Peterson
 
Posts: n/a
Default

I used xl2003 and did Data|Filter|showall (slightly different than changing the
filter, though).

The old criteria still showed up. Hitting F9 made it disappear.

Bob Phillips wrote:

But changing the filter criteria forces a recalc, and that is what drives
the function, so that should be fine.

--

HTH

RP
(remove nothere from the email address if mailing direct)

"Dave Peterson" wrote in message
...
You could make your formula look like:

=filtercriteria(A1)&TEXT(RAND(),"")

or you could add "application.volatile" to your code.

Option Explicit
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Application.Volatile
Dim Filter As String

But the bad thing is that either way, the formula won't recalculate until

excel
recalculates.

Hit F9 to force a recalc before you trust the value in the cell.

Dennis wrote:

Using XL 2003 & 2000

OK, with help, I was able to utilize Steve Bullen's FilterCriteria()

Function.

That said, apparently the only way to refresh the data in the display

cell
is to re-activate the formula by pressing <ENTER in the Fx Box.

Can the display cells be made to refresh in real-time or, second best,

by F9?

FYI (Background Info):

************************************************** **********II placed

this
formula into cell A1: =FilterCriteria(A3)
Cell A3 contains the Autofilter down-arrow for column A
************************************************** ***********
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Dim Filter As String
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCriteria = Filter
End Function
************************************************** ***********

Also, why does this formula not refresh as do other formulas in the
worksheet? Is it because this particlar Function must be "force-called"

for
each refresh?

TIA Dennis


--

Dave Peterson


--

Dave Peterson
  #5   Report Post  
Bob Phillips
 
Posts: n/a
Default

Don't have 2003 Dave, so I can't play with that.

If only I had a real reason to get it :-)

Regards

Bob

BTW I liked the TEXT technique.


"Dave Peterson" wrote in message
...
I used xl2003 and did Data|Filter|showall (slightly different than

changing the
filter, though).

The old criteria still showed up. Hitting F9 made it disappear.

Bob Phillips wrote:

But changing the filter criteria forces a recalc, and that is what

drives
the function, so that should be fine.

--

HTH

RP
(remove nothere from the email address if mailing direct)

"Dave Peterson" wrote in message
...
You could make your formula look like:

=filtercriteria(A1)&TEXT(RAND(),"")

or you could add "application.volatile" to your code.

Option Explicit
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Application.Volatile
Dim Filter As String

But the bad thing is that either way, the formula won't recalculate

until
excel
recalculates.

Hit F9 to force a recalc before you trust the value in the cell.

Dennis wrote:

Using XL 2003 & 2000

OK, with help, I was able to utilize Steve Bullen's FilterCriteria()

Function.

That said, apparently the only way to refresh the data in the

display
cell
is to re-activate the formula by pressing <ENTER in the Fx Box.

Can the display cells be made to refresh in real-time or, second

best,
by F9?

FYI (Background Info):

************************************************** **********II

placed
this
formula into cell A1: =FilterCriteria(A3)
Cell A3 contains the Autofilter down-arrow for column A
************************************************** ***********
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Dim Filter As String
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCriteria = Filter
End Function
************************************************** ***********

Also, why does this formula not refresh as do other formulas in the
worksheet? Is it because this particlar Function must be

"force-called"
for
each refresh?

TIA Dennis

--

Dave Peterson


--

Dave Peterson





  #6   Report Post  
Dave Peterson
 
Posts: n/a
Default

Did Data|filter|Showall cause a recalc in the version you're using?

Bob Phillips wrote:

Don't have 2003 Dave, so I can't play with that.

If only I had a real reason to get it :-)

Regards

Bob

BTW I liked the TEXT technique.

"Dave Peterson" wrote in message
...
I used xl2003 and did Data|Filter|showall (slightly different than

changing the
filter, though).

The old criteria still showed up. Hitting F9 made it disappear.

Bob Phillips wrote:

But changing the filter criteria forces a recalc, and that is what

drives
the function, so that should be fine.

--

HTH

RP
(remove nothere from the email address if mailing direct)

"Dave Peterson" wrote in message
...
You could make your formula look like:

=filtercriteria(A1)&TEXT(RAND(),"")

or you could add "application.volatile" to your code.

Option Explicit
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Application.Volatile
Dim Filter As String

But the bad thing is that either way, the formula won't recalculate

until
excel
recalculates.

Hit F9 to force a recalc before you trust the value in the cell.

Dennis wrote:

Using XL 2003 & 2000

OK, with help, I was able to utilize Steve Bullen's FilterCriteria()
Function.

That said, apparently the only way to refresh the data in the

display
cell
is to re-activate the formula by pressing <ENTER in the Fx Box.

Can the display cells be made to refresh in real-time or, second

best,
by F9?

FYI (Background Info):

************************************************** **********II

placed
this
formula into cell A1: =FilterCriteria(A3)
Cell A3 contains the Autofilter down-arrow for column A
************************************************** ***********
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Dim Filter As String
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCriteria = Filter
End Function
************************************************** ***********

Also, why does this formula not refresh as do other formulas in the
worksheet? Is it because this particlar Function must be

"force-called"
for
each refresh?

TIA Dennis

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson
  #7   Report Post  
Bob Phillips
 
Posts: n/a
Default

You could add
Application.Volatile
at the start.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Dennis" wrote in message
...
Using XL 2003 & 2000

OK, with help, I was able to utilize Steve Bullen's FilterCriteria()

Function.

That said, apparently the only way to refresh the data in the display cell
is to re-activate the formula by pressing <ENTER in the Fx Box.

Can the display cells be made to refresh in real-time or, second best, by

F9?

FYI (Background Info):

************************************************** **********II placed this
formula into cell A1: =FilterCriteria(A3)
Cell A3 contains the Autofilter down-arrow for column A
************************************************** ***********
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Dim Filter As String
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCriteria = Filter
End Function
************************************************** ***********

Also, why does this formula not refresh as do other formulas in the
worksheet? Is it because this particlar Function must be "force-called"

for
each refresh?

TIA Dennis



  #8   Report Post  
Bob Phillips
 
Posts: n/a
Default

BTW, I would make this slight amendment so that it doesn't show blank when
no filter is applied (personal preference)

Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Dim Filter As String
Application.Volatile
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then
Filter = "All"
GoTo Finish
End If
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCriteria = Filter
End Function



--

HTH

RP
(remove nothere from the email address if mailing direct)


"Bob Phillips" wrote in message
...
You could add
Application.Volatile
at the start.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Dennis" wrote in message
...
Using XL 2003 & 2000

OK, with help, I was able to utilize Steve Bullen's FilterCriteria()

Function.

That said, apparently the only way to refresh the data in the display

cell
is to re-activate the formula by pressing <ENTER in the Fx Box.

Can the display cells be made to refresh in real-time or, second best,

by
F9?

FYI (Background Info):

************************************************** **********II placed

this
formula into cell A1: =FilterCriteria(A3)
Cell A3 contains the Autofilter down-arrow for column A
************************************************** ***********
Function FilterCriteria(Rng As Range) As String
'By Stephen Bullen via j-walk.com
Dim Filter As String
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCriteria = Filter
End Function
************************************************** ***********

Also, why does this formula not refresh as do other formulas in the
worksheet? Is it because this particlar Function must be "force-called"

for
each refresh?

TIA Dennis





Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
refresh external data on a protected sheet ajf Excel Discussion (Misc queries) 0 March 11th 05 09:01 AM
Glue/Lock cells to external data before refresh Jo Betty Smith Excel Discussion (Misc queries) 0 February 16th 05 11:55 PM
Shuffling Data To Make Lists Match Dmorri254 Excel Worksheet Functions 1 January 14th 05 05:58 PM
Pulling data from 1 sheet to another Dave1155 Excel Worksheet Functions 1 January 12th 05 05:55 PM
how do I make a formula NOT change when the data range is moved? Alida Andrews Excel Discussion (Misc queries) 2 January 6th 05 09:02 PM


All times are GMT +1. The time now is 11:49 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"