How to change to not active workbook

  • Thread starter Patrick Simonds
  • Start date
P

Patrick Simonds

I recorded the code below to sort my list of employees, and on it's own it
works great. My problem is that while I have WorkBook open it is not the
Active WorkBook. I am calling the sort routine from within another WorkBook.


Private Sub CommandButton1_Click()

'Sort by Fixed Route Driver Names

Application.Run "EmployeeList.xls!FRDSort"

End Sub

=======================================================

Sub FRDSort()

'Sort by Fixed Route Drivers Names

Module1.Disable_Events
Module1.UnprotectWorkSheet

Range("B1").Value = "3"

ActiveWorkbook.Worksheets("Employee_List").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Employee_List").Sort.SortFields.Add
Key:=Range( _
"F2:F300"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=
_
xlSortNormal
ActiveWorkbook.Worksheets("Employee_List").Sort.SortFields.Add
Key:=Range( _
"D2:D300"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=
_
xlSortNormal
With ActiveWorkbook.Worksheets("Employee_List").Sort
.SetRange Range("A2:I300")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select

Module1.Enable_Events
Module1.ProtectWorkSheet

End Sub
 
T

Tom Ogilvy

Change ActiveWorkbook with a reference to the workbook where you want to do
the work

Workbooks("MyOtherBook.xls")

instead of ActiveWorkbook.

I can't say for the Module.Unprotectworksheet code or the Disable_Events
code. But if it is set up to work on the activeworkbook, you would need
changes there also.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top