ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   What am I doing wrong? (https://www.excelbanter.com/excel-programming/348906-what-am-i-doing-wrong.html)

Patrick Simonds

What am I doing wrong?
 
The code below works great if the active worksheet is Employee_List, but
if I call it from another active worksheet, I get a Sort referance not
valid. This is supoose to sort the data on the Employee_List worksheet,
while leaving me on the current (active worksheet)


Private Sub CommandButton1_Click()

'Sort by Paratransit Drivers First Name

Worksheets("Employee_List").Range("AA1").Value = 1

Dim wks As Worksheet
Set wks = Worksheets("Employee_List")
With wks.Range("A1:Z300")
..Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("C2") _
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending,
Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom,
_
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=
_
xlSortNormal
End With

End Sub



JMay

What am I doing wrong?
 
Why not early in your existing code After the Dim Line, enter:
TempSheetName = Activesheet.name

then after the line

End with
enter:
Worksheets(TempSheetName).Activate

Would that work for you?




"Patrick Simonds" wrote in message
...
The code below works great if the active worksheet is Employee_List, but if
I call it from another active worksheet, I get a Sort referance not valid.
This is supoose to sort the data on the Employee_List worksheet, while leaving
me on the current (active worksheet)


Private Sub CommandButton1_Click()

'Sort by Paratransit Drivers First Name

Worksheets("Employee_List").Range("AA1").Value = 1

Dim wks As Worksheet
Set wks = Worksheets("Employee_List")
With wks.Range("A1:Z300")
.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("C2") _
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending, Header:=
_
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
End With

End Sub




Ken Johnson

What am I doing wrong?
 
Hi Alan,
It worked for me after I added "wks." before each of the three sort
keys:

Key1:=Range("B2") becomes Key1:= wks.Range("B2")
Key2:=Range("C2") becomes Key2:=wks.Range("C2")
Key3:=Range("A2") becomes Key3:=wks.Range("A2")

Ken Johnson


Ken Johnson

What am I doing wrong?
 
Hi Patrick,
I don't know where I got the Name "Alan" from!

Ken Johnson


Patrick Simonds

What am I doing wrong?
 
Thank you for the quick fix.

"Ken Johnson" wrote in message
ups.com...
Hi Alan,
It worked for me after I added "wks." before each of the three sort
keys:

Key1:=Range("B2") becomes Key1:= wks.Range("B2")
Key2:=Range("C2") becomes Key2:=wks.Range("C2")
Key3:=Range("A2") becomes Key3:=wks.Range("A2")

Ken Johnson




Ken Johnson

What am I doing wrong?
 
Hi Patrick,
You're welcome, glad I could help.
Thanks for the feedback.
Ken Johnson


Gary Keramidas

What am I doing wrong?
 
patrick, that's what i had posted in your original post a few days ago:

..sort Key1:=wks.Range("D4"), Order1:=xlAscending, Key2:=wks.Range("A4"), _
Order2:=xlAscending, Header:=xlGuess, OrderCustom:=2, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal,
DataOption2 _
:=xlSortNormal


--


Gary


"Patrick Simonds" wrote in message
...
The code below works great if the active worksheet is Employee_List,
but if I call it from another active worksheet, I get a Sort referance not
valid. This is supoose to sort the data on the Employee_List worksheet,
while leaving me on the current (active worksheet)


Private Sub CommandButton1_Click()

'Sort by Paratransit Drivers First Name

Worksheets("Employee_List").Range("AA1").Value = 1

Dim wks As Worksheet
Set wks = Worksheets("Employee_List")
With wks.Range("A1:Z300")
.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("C2") _
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending,
Header:= _
xlYes, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=
_
xlSortNormal
End With

End Sub





All times are GMT +1. The time now is 03:54 AM.

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