ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Sort Routine Macro for Excel Worksheet (https://www.excelbanter.com/excel-programming/443159-sort-routine-macro-excel-worksheet.html)

JCO

Sort Routine Macro for Excel Worksheet
 
I have an excel that requires a sort routine. I tried using the start/stop
recording. The code is shown below, however, I need this routine to work
when you don't know how many rows are in the data. My method has the
filename hardcoded too. I don't know if that matters. This one subroutine
of many. Can someone show me how to make this routine more dynamic. It
will always sort by the same Column but it needs to work with all different
Ranges of data (this example is hardcoded to sort data from row 2 through
row 613.

Sub SortCategoryAssistance()
Cells.Select
ActiveWorkbook.Worksheets("NEEDWest Error Report").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("NEEDWest Error Report").Sort.SortFields.Add
Key:= _
Range("P2:P613"), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("NEEDWest Error Report").Sort
.SetRange Range("A1:T613")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
End Sub



JCO

Sort Routine Macro for Excel Worksheet
 
never mind. I figured it out as shown below:
'
' SortCategoryAssistanceWithHeadersMacro
'
'
Cells.Sort Key1:=Range("P2"), _
Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
'
Range("A17").Select


"JCO" wrote in message
...
I have an excel that requires a sort routine. I tried using the
start/stop recording. The code is shown below, however, I need this
routine to work when you don't know how many rows are in the data. My
method has the filename hardcoded too. I don't know if that matters.
This one subroutine of many. Can someone show me how to make this routine
more dynamic. It will always sort by the same Column but it needs to work
with all different Ranges of data (this example is hardcoded to sort data
from row 2 through row 613.

Sub SortCategoryAssistance()
Cells.Select
ActiveWorkbook.Worksheets("NEEDWest Error
Report").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("NEEDWest Error Report").Sort.SortFields.Add
Key:= _
Range("P2:P613"), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("NEEDWest Error Report").Sort
.SetRange Range("A1:T613")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
End Sub




All times are GMT +1. The time now is 05:29 PM.

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