View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Bernie Deitrick Bernie Deitrick is offline
external usenet poster
 
Posts: 5,441
Default Autofilter & delete lines

Craig,

Here's another brilliant effort ;-)

HTH,
Bernie

With Range(Range("A3"), Range("AZ3").End(xlDown))
.AutoFilter Field:=52, Criteria1:="0"
.AutoFilter Field:=8, Criteria1:="Delivery and collection"
.Columns(52).Offset(1, 0).Resize(.Rows.Count - 1, 1) _
.SpecialCells(xlCellTypeVisible).FormulaR1C1 = "=+RC[-35]/1.35"
.AutoFilter
End With


"Craig" wrote in message
...
Thanks Bernie,

That worked brilliantly.

I have a further step to take, which I tried to do by adapting you code.

I want to filter column 52 for 0 values, and then apply a second filter on
column 8 (H). I then want to apply a formula to column 52 (AZ) which
refers to column 17 (Q).

Itried this but it didn't work:

Selection.AutoFilter Field:=52, Criteria1:="0"
With Range(Range("H3"), Range("H3").End(xlDown))
.AutoFilter Field:=8, Criteria1:="Delivery and collection"
.Offset(1, 44).SpecialCells(xlCellTypeVisible).Select
.FormulaR1C1 = "=+RC[-38]/1.35"
End With

I assumed that the offset would take me to row 4, column AZ, but the
formula gets put into H3, and refers to Column HR ( i.e 38 columns left of
column H.) How do I get the macro to refer to Column Q and select the
visible cells in Q, in which case the formula would be correct.

Craig

"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Craig,

Actually, you don't need the On Error Resume Next: the offset ensures
that
at least one row is visible - the row immediately below your data table.

HTH,
Bernie
MS Excel MVP


"Bernie Deitrick" <deitbe @ consumer dot org wrote in message
...
Craig,

Try

On Error Resume Next
With Range(Range("AS3"), Range("AS3").End(xlDown))
.AutoFilter Field:=1, Criteria1:="Interim"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delet e
.AutoFilter
End With

HTH,
Bernie
MS Excel MVP


"Craig" wrote in message
...
I have recorded a macro which autofilters data and then deletes the

lines
selected. The autofilter criteria are hard coded into the macro (e.g
filter
all items with description "Interim"). My problem is where there is no
data
with the the hard coded description in the particular batch of

information
I
am running the macro on.

Selection.AutoFilter Field:=45, Criteria1:="Interim"
Range("AS3").Select ' This is the heading row in the
column
being filtered
ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.EntireRow.Delete

How do I get the macro to skip lines 2 to 6 above if there is no data

with
a
description of Interim and to move onto the next hard coded
description?

Thanks in advance

Craig