ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Autofilter copy (https://www.excelbanter.com/excel-programming/347347-autofilter-copy.html)

Mike Fogleman

Autofilter copy
 
I have a fixed size table of data to autofilter. The data range is
Worksheets("DS Analysis").Range("A1:E25"). Row 1 is headers eg.,
DS Port, 2 Wk Max, %, 2 Wk Avg, %. I need to do 2 separate filter/copy/paste
of values and formats to 2 different destinations. The first filter criteria
is Field:=3, Criteria1:="=.85". The filtered results from columns A, B, & C
need pasted to G1 (includes headers). The 2nd filter criteria is to ShowAll
on field 3, then Field:=5, Criteria1:="=.75". The filtered results from
Columns A, D, & E need pasted to J1 (includes headers).
I would like to do this without .Selection if possible, and avoid copy/paste
of entire columns to keep the .UsedRange to a minimum.
Thanks for any code you could provide

Mike F



Dave Peterson

Autofilter copy
 
I would think recording a macro when you do this manually would get you close to
the code you want.

If you try it and have trouble, post back.



Mike Fogleman wrote:

I have a fixed size table of data to autofilter. The data range is
Worksheets("DS Analysis").Range("A1:E25"). Row 1 is headers eg.,
DS Port, 2 Wk Max, %, 2 Wk Avg, %. I need to do 2 separate filter/copy/paste
of values and formats to 2 different destinations. The first filter criteria
is Field:=3, Criteria1:="=.85". The filtered results from columns A, B, & C
need pasted to G1 (includes headers). The 2nd filter criteria is to ShowAll
on field 3, then Field:=5, Criteria1:="=.75". The filtered results from
Columns A, D, & E need pasted to J1 (includes headers).
I would like to do this without .Selection if possible, and avoid copy/paste
of entire columns to keep the .UsedRange to a minimum.
Thanks for any code you could provide

Mike F


--

Dave Peterson

Mike Fogleman

Autofilter copy
 
I was having trouble with getting the non-contiguous columns A, D,E.
Sub DSFilter()
Dim srng As Range, drng As Range

Set srng = Worksheets("DS Analysis").Range("A1:E25")
Set drng = Worksheets("DS Analysis").Range("G1")

With srng
.AutoFilter field:=3, Criteria1:="=.85"
.Columns("A:C").SpecialCells(xlVisible).Copy Destination:=drng
.AutoFilter field:=3
.AutoFilter field:=5, Criteria1:="=.75"
.Range("A:A,D:E").SpecialCells(xlVisible).Copy
Destination:=drng.Offset(0, 3)
.AutoFilter
End With
End Sub

until I realized that they must now be .Range not .Columns("A, D:E")
thnx
Mike F
"Dave Peterson" wrote in message
...
I would think recording a macro when you do this manually would get you
close to
the code you want.

If you try it and have trouble, post back.



Mike Fogleman wrote:

I have a fixed size table of data to autofilter. The data range is
Worksheets("DS Analysis").Range("A1:E25"). Row 1 is headers eg.,
DS Port, 2 Wk Max, %, 2 Wk Avg, %. I need to do 2 separate
filter/copy/paste
of values and formats to 2 different destinations. The first filter
criteria
is Field:=3, Criteria1:="=.85". The filtered results from columns A, B,
& C
need pasted to G1 (includes headers). The 2nd filter criteria is to
ShowAll
on field 3, then Field:=5, Criteria1:="=.75". The filtered results from
Columns A, D, & E need pasted to J1 (includes headers).
I would like to do this without .Selection if possible, and avoid
copy/paste
of entire columns to keep the .UsedRange to a minimum.
Thanks for any code you could provide

Mike F


--

Dave Peterson




Dave Peterson

Autofilter copy
 
How about just doing it steps:

Option Explicit
Sub DSFilter()
Dim srng As Range, drng As Range

Set srng = Worksheets("DS Analysis").Range("A1:E25")
Set drng = Worksheets("DS Analysis").Range("G1")

With srng
.AutoFilter Field:=3, Criteria1:="=.85"
.Columns("A:C").SpecialCells(xlVisible).Copy _
Destination:=drng

.AutoFilter Field:=3

.AutoFilter Field:=5, Criteria1:="=.75"
.Range("A:A").SpecialCells(xlVisible).Copy _
Destination:=drng.Offset(0, 3)
.Range("D:e").SpecialCells(xlVisible).Copy _
Destination:=drng.Offset(0, 4)

.AutoFilter
End With
End Sub




Mike Fogleman wrote:

I was having trouble with getting the non-contiguous columns A, D,E.
Sub DSFilter()
Dim srng As Range, drng As Range

Set srng = Worksheets("DS Analysis").Range("A1:E25")
Set drng = Worksheets("DS Analysis").Range("G1")

With srng
.AutoFilter field:=3, Criteria1:="=.85"
.Columns("A:C").SpecialCells(xlVisible).Copy Destination:=drng
.AutoFilter field:=3
.AutoFilter field:=5, Criteria1:="=.75"
.Range("A:A,D:E").SpecialCells(xlVisible).Copy
Destination:=drng.Offset(0, 3)
.AutoFilter
End With
End Sub

until I realized that they must now be .Range not .Columns("A, D:E")
thnx
Mike F
"Dave Peterson" wrote in message
...
I would think recording a macro when you do this manually would get you
close to
the code you want.

If you try it and have trouble, post back.



Mike Fogleman wrote:

I have a fixed size table of data to autofilter. The data range is
Worksheets("DS Analysis").Range("A1:E25"). Row 1 is headers eg.,
DS Port, 2 Wk Max, %, 2 Wk Avg, %. I need to do 2 separate
filter/copy/paste
of values and formats to 2 different destinations. The first filter
criteria
is Field:=3, Criteria1:="=.85". The filtered results from columns A, B,
& C
need pasted to G1 (includes headers). The 2nd filter criteria is to
ShowAll
on field 3, then Field:=5, Criteria1:="=.75". The filtered results from
Columns A, D, & E need pasted to J1 (includes headers).
I would like to do this without .Selection if possible, and avoid
copy/paste
of entire columns to keep the .UsedRange to a minimum.
Thanks for any code you could provide

Mike F


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 04:24 PM.

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