Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Multiple Sorts
Hello,
Is there a better way to write the below code? I have 26 Columns of data, which I want the data within each column to be sorted when the User clicks a command button. Sub Sort_CounselorNames(sht As Worksheet, pwd As String) ' Unprotect Worksheet sht.Unprotect Password:=pwd With ActiveSheet .Range("B8:B37").Sort Key1:=.Range("B8:B37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("C8:C37").Sort Key1:=.Range("C8:C37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("D8:D37").Sort Key1:=.Range("D8:D37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("E8:E37").Sort Key1:=.Range("E8:E37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("F8:F37").Sort Key1:=.Range("F8:F37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom End With Range("B8").Select ' Protect Worksheet sht.Protect Password:=pwd, Scenarios:=True End Sub Thanks Ruan |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Multiple Sorts
One way:
Public Sub Sort_CounselorNames(sht As Worksheet, pwd As String) Application.ScreenUpdating = False sht.Unprotect Password:=pwd Dim i As Long For i = 2 To 27 With Cells(8, i).Resize(30, 1) .Sort _ Key1:=.Cells(1), _ Order1:=xlAscending, _ Header:=xlGuess, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom End With Next i Range("B8").Select sht.Protect Password:=pwd Application.ScreenUpdating = True End Sub In article , "Ruan" wrote: Hello, Is there a better way to write the below code? I have 26 Columns of data, which I want the data within each column to be sorted when the User clicks a command button. Sub Sort_CounselorNames(sht As Worksheet, pwd As String) ' Unprotect Worksheet sht.Unprotect Password:=pwd With ActiveSheet .Range("B8:B37").Sort Key1:=.Range("B8:B37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("C8:C37").Sort Key1:=.Range("C8:C37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("D8:D37").Sort Key1:=.Range("D8:D37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("E8:E37").Sort Key1:=.Range("E8:E37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("F8:F37").Sort Key1:=.Range("F8:F37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom End With Range("B8").Select ' Protect Worksheet sht.Protect Password:=pwd, Scenarios:=True End Sub Thanks Ruan |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Multiple Sorts
That works great, but for some reason it only sorts the Data after row 8.
What does "Resize" do? "JE McGimpsey" wrote in message ... One way: Public Sub Sort_CounselorNames(sht As Worksheet, pwd As String) Application.ScreenUpdating = False sht.Unprotect Password:=pwd Dim i As Long For i = 2 To 27 With Cells(8, i).Resize(30, 1) .Sort _ Key1:=.Cells(1), _ Order1:=xlAscending, _ Header:=xlGuess, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom End With Next i Range("B8").Select sht.Protect Password:=pwd Application.ScreenUpdating = True End Sub In article , "Ruan" wrote: Hello, Is there a better way to write the below code? I have 26 Columns of data, which I want the data within each column to be sorted when the User clicks a command button. Sub Sort_CounselorNames(sht As Worksheet, pwd As String) ' Unprotect Worksheet sht.Unprotect Password:=pwd With ActiveSheet .Range("B8:B37").Sort Key1:=.Range("B8:B37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("C8:C37").Sort Key1:=.Range("C8:C37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("D8:D37").Sort Key1:=.Range("D8:D37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("E8:E37").Sort Key1:=.Range("E8:E37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("F8:F37").Sort Key1:=.Range("F8:F37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom End With Range("B8").Select ' Protect Worksheet sht.Protect Password:=pwd, Scenarios:=True End Sub Thanks Ruan |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Multiple Sorts
Nevermind. I changed
Header:=xlGuess to Header:=xlNo and now it works fine. Thanks for your help Ruan "JE McGimpsey" wrote in message ... One way: Public Sub Sort_CounselorNames(sht As Worksheet, pwd As String) Application.ScreenUpdating = False sht.Unprotect Password:=pwd Dim i As Long For i = 2 To 27 With Cells(8, i).Resize(30, 1) .Sort _ Key1:=.Cells(1), _ Order1:=xlAscending, _ Header:=xlGuess, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom End With Next i Range("B8").Select sht.Protect Password:=pwd Application.ScreenUpdating = True End Sub In article , "Ruan" wrote: Hello, Is there a better way to write the below code? I have 26 Columns of data, which I want the data within each column to be sorted when the User clicks a command button. Sub Sort_CounselorNames(sht As Worksheet, pwd As String) ' Unprotect Worksheet sht.Unprotect Password:=pwd With ActiveSheet .Range("B8:B37").Sort Key1:=.Range("B8:B37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("C8:C37").Sort Key1:=.Range("C8:C37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("D8:D37").Sort Key1:=.Range("D8:D37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("E8:E37").Sort Key1:=.Range("E8:E37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom .Range("F8:F37").Sort Key1:=.Range("F8:F37"), _ Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom End With Range("B8").Select ' Protect Worksheet sht.Protect Password:=pwd, Scenarios:=True End Sub Thanks Ruan |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Multiple Sorts
Ruan, try this:
Sub Sort_CounselorNames(sht As Worksheet, pwd As String) Application.ScreenUpdating = False sht.Unprotect Password:=pwd Dim CL As Range For Each CL In Range("B8:AA30").Columns CL.Sort Key1:=CL.Cells(1), _ Order1:=xlAscending, _ Header:=xlNo, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom Next sht.Protect Password:=pwd Application.ScreenUpdating = True End Sub -- Soo Cheon Jheong http://excel.hompy.com Seoul, South Korea _ _ ^ąŻ^ -- |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Multiple Sorts
Ruan, try this:
Sub Sort_CounselorNames(sht As Worksheet, pwd As String) Application.ScreenUpdating = False sht.Unprotect Password:=pwd Dim CL As Range For Each CL In sht.Range("B8:AA30").Columns ' <== Changed CL.Sort Key1:=CL.Cells(1), _ Order1:=xlAscending, _ Header:=xlNo, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom Next sht.Protect Password:=pwd Application.ScreenUpdating = True End Sub -- Soo Cheon Jheong http://excel.hompy.com Seoul, South Korea _ _ ^ąŻ^ -- "Soo Cheon Jheong" wrote in message ... Ruan, try this: Sub Sort_CounselorNames(sht As Worksheet, pwd As String) Application.ScreenUpdating = False sht.Unprotect Password:=pwd Dim CL As Range For Each CL In Range("B8:AA30").Columns CL.Sort Key1:=CL.Cells(1), _ Order1:=xlAscending, _ Header:=xlNo, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom Next sht.Protect Password:=pwd Application.ScreenUpdating = True End Sub -- Soo Cheon Jheong http://excel.hompy.com Seoul, South Korea _ _ ^ąŻ^ -- |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Sum by different sorts | Excel Discussion (Misc queries) | |||
Sorts | Excel Worksheet Functions | |||
same range, multiple sheets, different sorts, help please! | Excel Worksheet Functions | |||
Excel gets subtotals out of order using multiple sorts and subtot. | Excel Discussion (Misc queries) | |||
Macro for Multiple Sorts | Excel Programming |