ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Generalising Deleting Rows after AUTOFILTER (https://www.excelbanter.com/excel-programming/315771-generalising-deleting-rows-after-autofilter.html)

jason

Generalising Deleting Rows after AUTOFILTER
 
I have this code:

Sub Macro2()

Range("A1").AutoFilter Field:=1, Criteria1:="b"
Rows("7:9").Delete Shift:=xlUp
Selection.AutoFilter

End Sub

and its used on a small table like this:

Name Age
a 5
c 75
c 96
c 4
c 8
b 59
b 8
b 7

I've got no way of predicting how many rows there'll be in the table,
so how do I generalise the second row of the code? i.e the bit
'Rows("7:9")'.
Or do I need to look into an alternative approach?

Any help greatly appreciated,
Jason.

Tom Ogilvy

Generalising Deleting Rows after AUTOFILTER
 
Sub Macro2()
Dim rng As Range
Range("A1").AutoFilter Field:=1, Criteria1:="b"
Set rng = ActiveSheet.AutoFilter.Range
Set rng = rng.Offset(1, 0).Resize(rng.Rows.Count - 1)
rng.EntireRow.Delete
Range("A1").AutoFilter
End Sub


Will delete all the entries with b

Test on a copy of your data.

--
Regards,
Tom Ogilvy


"jason" wrote in message
om...
I have this code:

Sub Macro2()

Range("A1").AutoFilter Field:=1, Criteria1:="b"
Rows("7:9").Delete Shift:=xlUp
Selection.AutoFilter

End Sub

and its used on a small table like this:

Name Age
a 5
c 75
c 96
c 4
c 8
b 59
b 8
b 7

I've got no way of predicting how many rows there'll be in the table,
so how do I generalise the second row of the code? i.e the bit
'Rows("7:9")'.
Or do I need to look into an alternative approach?

Any help greatly appreciated,
Jason.




No Name

Generalising Deleting Rows after AUTOFILTER
 
hi.
there is no way to generalize code. code is specific in
what it does.
you will have to add code that will find and select what
you wish to delete.
this line will open the find dialog box
Application.Dialogs(xlDialogFormulaFind).Show

-----Original Message-----
I have this code:

Sub Macro2()

Range("A1").AutoFilter Field:=1, Criteria1:="b"
Rows("7:9").Delete Shift:=xlUp
Selection.AutoFilter

End Sub

and its used on a small table like this:

Name Age
a 5
c 75
c 96
c 4
c 8
b 59
b 8
b 7

I've got no way of predicting how many rows there'll be

in the table,
so how do I generalise the second row of the code? i.e

the bit
'Rows("7:9")'.
Or do I need to look into an alternative approach?

Any help greatly appreciated,
Jason.
.


jason

Generalising Deleting Rows after AUTOFILTER
 
Cheers Tom
I think this little beauty'll be getting used a lot
Jason


"Tom Ogilvy" wrote in message ...
Sub Macro2()
Dim rng As Range
Range("A1").AutoFilter Field:=1, Criteria1:="b"
Set rng = ActiveSheet.AutoFilter.Range
Set rng = rng.Offset(1, 0).Resize(rng.Rows.Count - 1)
rng.EntireRow.Delete
Range("A1").AutoFilter
End Sub


Will delete all the entries with b

Test on a copy of your data.

--
Regards,
Tom Ogilvy


"jason" wrote in message
om...
I have this code:

Sub Macro2()

Range("A1").AutoFilter Field:=1, Criteria1:="b"
Rows("7:9").Delete Shift:=xlUp
Selection.AutoFilter

End Sub

and its used on a small table like this:

Name Age
a 5
c 75
c 96
c 4
c 8
b 59
b 8
b 7

I've got no way of predicting how many rows there'll be in the table,
so how do I generalise the second row of the code? i.e the bit
'Rows("7:9")'.
Or do I need to look into an alternative approach?

Any help greatly appreciated,
Jason.



All times are GMT +1. The time now is 10:00 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com