Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
gmr7
 
Posts: n/a
Default Keep autofilter after macro is run

When I run my macro, my autofilter is no longer there. Is there anyway to
keen the autofilter after the macro is run.
--
gmr7
  #2   Report Post  
Gord Dibben
 
Posts: n/a
Default

Post your code.


Gord Dibben Excel MVP

On Thu, 30 Jun 2005 10:30:05 -0700, "gmr7"
wrote:

When I run my macro, my autofilter is no longer there. Is there anyway to
keen the autofilter after the macro is run.


  #3   Report Post  
gmr7
 
Posts: n/a
Default

Option Explicit

Sub ExtractJobs()
Dim ws As Worksheet
Dim ws1 As Worksheet
Dim wsNew As Worksheet
Dim rng As Range
Dim rngList As Range
Dim r As Integer
Dim c As Range
Set ws1 = Sheets("JOB ENTRY")
Set rng = Range("Database")

'extract a list of Jobs
ws1.Columns("C:C").Copy _
Destination:=Range("F1")
ws1.Columns("F:F").AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=Range("E1"), Unique:=True
r = Cells(Rows.Count, "E").End(xlUp).Row

'set up Criteria Area
Range("F1").Value = Range("C1").Value

For Each c In Range("E2:E" & r)
'add the Job name to the criteria area
ws1.Range("F2").Value = c.Value
'add new sheet (if required)
'and run advanced filter
If WksExists(c.Value) Then
Sheets(CStr(c.Value)).Cells.Clear
rng.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("JOB ENTRY").Range("F1:F2"), _
CopyToRange:=Sheets(CStr(c.Value)).Range("A1"), _
Unique:=False
Else
Set wsNew = Sheets.Add
wsNew.Move After:=Worksheets(Worksheets.Count)
wsNew.Name = c.Value
rng.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("JOB ENTRY").Range("F1:F2"), _
CopyToRange:=wsNew.Range("A1"), _
Unique:=False
End If
Next

'delete unused sheets
ActiveWorkbook.Names.Add Name:="MyList", _
RefersToR1C1:="='" & ws1.Name & "'!R1C5:R" & r & "C5"
Set rngList = ActiveWorkbook.Names("MyList").RefersToRange

Application.DisplayAlerts = False
For Each ws In ActiveWorkbook.Worksheets
If ws.Name < "MASTER" And ws.Name < "EQUIP TYPE BREAKDOWN" And ws.Name
< ws1.Name And _
Application.WorksheetFunction.CountIf(rngList, ws.Name) = 0 Then
ws.Delete
End If
Next ws
Application.DisplayAlerts = True

ws1.Select
ws1.Columns("E:F").Delete
End Sub
Function WksExists(wksName As String) As Boolean
On Error Resume Next
WksExists = CBool(Len(Worksheets(wksName).Name) 0)
End Function
--
gmr7


"Gord Dibben" wrote:

Post your code.


Gord Dibben Excel MVP

On Thu, 30 Jun 2005 10:30:05 -0700, "gmr7"
wrote:

When I run my macro, my autofilter is no longer there. Is there anyway to
keen the autofilter after the macro is run.



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
Macro for autofilter using variables declared in worksheet Jeff Excel Worksheet Functions 2 June 14th 05 03:38 AM
how to write macro after autofilter is applied emre Excel Worksheet Functions 2 March 31st 05 02:59 PM
Loop Macro autofilter Paul. Excel Discussion (Misc queries) 2 March 25th 05 09:35 AM
Date macro Hiking Excel Discussion (Misc queries) 9 February 3rd 05 12:40 AM
Autofilter Macro Help RonB Excel Discussion (Misc queries) 1 December 30th 04 01:34 AM


All times are GMT +1. The time now is 11:28 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"