Thankyou for the reply Norman,
However I am still having problems.
Firstly, I do not understand how the Range object is being used, and
secondly, if there is any modification required to the code to 'suit' my
speadsheet.
I assume I do need some modifcation as I get an error on the line:
Set rng = Range(Me.Name & "!_FilterDatabase")
What are your suggestions?
Chris
"Norman Jones" wrote:
Hi Chris,
Assume that you have an Advanced Filter range and criteria range set.
If the filter hours are non-formula values, try:
'=============================
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, rng2 As Range
Set rng = Range(Me.Name & "!_FilterDatabase")
Set rng2 = Range(Me.Name & "!Criteria")
If Not Intersect(Target, rng) Is Nothing Then
rng.AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=rng2, _
Unique:=False
End If
End Sub
'<<=============================
If, however, the hours are the result of formulas, try instead:
'=============================
Private Sub Worksheet_Calculate()
Dim rng As Range, rng2 As Range
Set rng = Range(Me.Name & "!_FilterDatabase")
Set rng2 = Range(Me.Name & "!Criteria")
rng.AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=rng2, _
Unique:=False
End Sub
'<<=============================
These are both worksheet event procedures and should be pasted into the
worksheets's code module (not a standard module and not the workbook's
ThisWorkbook module):
************************************************** **********
Right-click the worksheet's tab
Select 'View Code' from the menu and paste the code.
Alt-F11 to return to Excel.
************************************************** **********
If you are not familiar with macros, you may wish to visit David McRitchie's
'Getting Started With Macros And User Defined Functions' at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
---
Regards,
Norman
"Chris" wrote in message
...
I have a spreadsheet that contains work-categories, rates and hours for
estimating time to perform jobs.
I wish to display only the categories that have 0 hours attributed to
them
in a final table, used in documentation for customers.
I have tried using advanced filtering, but to limited success. If I apply
the filter, but then later give a couples of hours work to a previously
non-used catergory, I then have to RE-apply the filter to get that row to
display.
Can you have an ACTIVE filter (i.e. if the values changes to be greater
than
zero - the rows automatically become non-hidden) and if so, how do you do
this??
Thanks for your help in advance