ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Return to active cell after sort (https://www.excelbanter.com/excel-programming/415028-return-active-cell-after-sort.html)

Patrick C. Simonds

Return to active cell after sort
 
Is it possible to edit the Sort Routine so that when the sort is completed,
the Range("B6:G1000") will be deselected and the active cell will be the
cell that was active when the Sort Routine started?



Sub SortNames()
'
' Macro1 Macro
'

'
Application.ScreenUpdating = False

ActiveWindow.SmallScroll Down:=-6
Range("B6:G1000").Select
ActiveWorkbook.Worksheets("Jan 08").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Jan 08").Sort.SortFields.Add
Key:=Range("B6:B1000" _
), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Jan 08").Sort
.SetRange Range("B6:G1000")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Application.ScreenUpdating = True

End Sub


Dave Peterson

Return to active cell after sort
 
I think it's your .select statement that's causing the problem:

Option Explicit
Sub SortNames()
Application.ScreenUpdating = False

with ActiveWorkbook.Worksheets("Jan 08")
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("B6:B1000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
with .Sort
.SetRange .parent.Range("B6:G1000")
.Header = xlGuess 'why let excel guess if you have headers????
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
end with
End With

Application.ScreenUpdating = True

End Sub

Untested, uncompiled.

(Is this for xl2007?)

"Patrick C. Simonds" wrote:

Is it possible to edit the Sort Routine so that when the sort is completed,
the Range("B6:G1000") will be deselected and the active cell will be the
cell that was active when the Sort Routine started?

Sub SortNames()
'
' Macro1 Macro
'

'
Application.ScreenUpdating = False

ActiveWindow.SmallScroll Down:=-6
Range("B6:G1000").Select
ActiveWorkbook.Worksheets("Jan 08").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Jan 08").Sort.SortFields.Add
Key:=Range("B6:B1000" _
), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Jan 08").Sort
.SetRange Range("B6:G1000")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Application.ScreenUpdating = True

End Sub


--

Dave Peterson

Patrick C. Simonds

Return to active cell after sort
 
Thank you sir

It worked wonderfully




"Dave Peterson" wrote in message
...
I think it's your .select statement that's causing the problem:

Option Explicit
Sub SortNames()
Application.ScreenUpdating = False

with ActiveWorkbook.Worksheets("Jan 08")
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("B6:B1000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
with .Sort
.SetRange .parent.Range("B6:G1000")
.Header = xlGuess 'why let excel guess if you have headers????
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
end with
End With

Application.ScreenUpdating = True

End Sub

Untested, uncompiled.

(Is this for xl2007?)

"Patrick C. Simonds" wrote:

Is it possible to edit the Sort Routine so that when the sort is
completed,
the Range("B6:G1000") will be deselected and the active cell will be
the
cell that was active when the Sort Routine started?

Sub SortNames()
'
' Macro1 Macro
'

'
Application.ScreenUpdating = False

ActiveWindow.SmallScroll Down:=-6
Range("B6:G1000").Select
ActiveWorkbook.Worksheets("Jan 08").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Jan 08").Sort.SortFields.Add
Key:=Range("B6:B1000" _
), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Jan 08").Sort
.SetRange Range("B6:G1000")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Application.ScreenUpdating = True

End Sub


--

Dave Peterson




All times are GMT +1. The time now is 02:40 PM.

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