Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
VBA newbie. I'm sure there's an easier way to write this but I can't
seem to form my question succinctly enough to find the answer. My code below works perfectly. Except for the fact that my workbook contains 25 worksheets that I want to sort exactly the same way and only 3 worksheets I need to sort differently. How can I update the first argument to say "If ActiveWorksheet.Name < ("Sheet1, Sheet2, Sheet3, Sheet4, etc. all the way to 22), sort this way; if Active Worksheet.Name = "Sheet23", sort this way. Any and all help is tremedously appreciated. Sub SortCurrent() If ActiveSheet.Name = "Sheet1" Then Range("A:L").Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range _ ("D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If If ActiveSheet.Name = "Sheet 23" Then Range("B:C").Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range _ ("C2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If ActiveWorksheet.Name = "Sheet23" Or _
ActiveWorksheet.Name = "Sheet24"Or _ ActiveWorksheet.Name = "Sheet25" Then SortOtherWay Else SortThisWay End If -- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) wrote in message ... VBA newbie. I'm sure there's an easier way to write this but I can't seem to form my question succinctly enough to find the answer. My code below works perfectly. Except for the fact that my workbook contains 25 worksheets that I want to sort exactly the same way and only 3 worksheets I need to sort differently. How can I update the first argument to say "If ActiveWorksheet.Name < ("Sheet1, Sheet2, Sheet3, Sheet4, etc. all the way to 22), sort this way; if Active Worksheet.Name = "Sheet23", sort this way. Any and all help is tremedously appreciated. Sub SortCurrent() If ActiveSheet.Name = "Sheet1" Then Range("A:L").Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range _ ("D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If If ActiveSheet.Name = "Sheet 23" Then Range("B:C").Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range _ ("C2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
Maybe something like the following If activesheet.index <23 sort1 Else sort2 End if -- Regards Roger Govier wrote in message ... VBA newbie. I'm sure there's an easier way to write this but I can't seem to form my question succinctly enough to find the answer. My code below works perfectly. Except for the fact that my workbook contains 25 worksheets that I want to sort exactly the same way and only 3 worksheets I need to sort differently. How can I update the first argument to say "If ActiveWorksheet.Name < ("Sheet1, Sheet2, Sheet3, Sheet4, etc. all the way to 22), sort this way; if Active Worksheet.Name = "Sheet23", sort this way. Any and all help is tremedously appreciated. Sub SortCurrent() If ActiveSheet.Name = "Sheet1" Then Range("A:L").Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range _ ("D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If If ActiveSheet.Name = "Sheet 23" Then Range("B:C").Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range _ ("C2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If End Sub |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Apr 25, 5:04*am, "Roger Govier"
<roger@technology4unospamdotcodotuk wrote: Hi Maybe something like the following If activesheet.index <23 * * * * sort1 Else * * sort2 End if -- Regards Roger Govier wrote in message ... VBA newbie. *I'm sure there's an easier way to write this but I can't seem to form my question succinctly enough to find the answer. My code below works perfectly. *Except for the fact that my workbook contains 25 worksheets that I want to sort exactly the same way and only 3 worksheets I need to sort differently. *How can I update the first argument to say "If ActiveWorksheet.Name < ("Sheet1, Sheet2, Sheet3, Sheet4, etc. all the way to 22), sort this way; if Active Worksheet.Name = "Sheet23", sort this way. Any and all help is tremedously appreciated. Sub SortCurrent() If ActiveSheet.Name = "Sheet1" Then * *Range("A:L").Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range _ * * * *("D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ * * * *:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ * * * *DataOption2:=xlSortNormal * End If If ActiveSheet.Name = "Sheet 23" Then * *Range("B:C").Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range _ * * * *("C2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ * * * *:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ * * * *DataOption2:=xlSortNormal * End If End Sub- Hide quoted text - - Show quoted text - I went with Bob's suggestion (because my sheets aren't really named Sheet1,2,3, etc. I just used that for clarification purposes) but I receive a "Too many continuation lines" error message. Thanks as always |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Note I went inverted to your way, I cheked the ones that did match, so as to
reduce the list. If the list is smaller the other way, use If ActiveWorksheet.Name < "Sheet1" And _ ActiveWorksheet.Name < "Sheet2" And _ ActiveWorksheet.Name < "Sheet3" Then SortThisWay Else SortOtherWay End If -- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) wrote in message ... On Apr 25, 5:04 am, "Roger Govier" <roger@technology4unospamdotcodotuk wrote: Hi Maybe something like the following If activesheet.index <23 sort1 Else sort2 End if -- Regards Roger Govier wrote in message ... VBA newbie. I'm sure there's an easier way to write this but I can't seem to form my question succinctly enough to find the answer. My code below works perfectly. Except for the fact that my workbook contains 25 worksheets that I want to sort exactly the same way and only 3 worksheets I need to sort differently. How can I update the first argument to say "If ActiveWorksheet.Name < ("Sheet1, Sheet2, Sheet3, Sheet4, etc. all the way to 22), sort this way; if Active Worksheet.Name = "Sheet23", sort this way. Any and all help is tremedously appreciated. Sub SortCurrent() If ActiveSheet.Name = "Sheet1" Then Range("A:L").Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range _ ("D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If If ActiveSheet.Name = "Sheet 23" Then Range("B:C").Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range _ ("C2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If End Sub- Hide quoted text - - Show quoted text - I went with Bob's suggestion (because my sheets aren't really named Sheet1,2,3, etc. I just used that for clarification purposes) but I receive a "Too many continuation lines" error message. Thanks as always |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Apr 25, 11:43*am, "Bob Phillips" wrote:
Note I went inverted to your way, I cheked the ones that did match, so as to reduce the list. If the list is smaller the other way, use * * If ActiveWorksheet.Name < "Sheet1" And _ * * * * ActiveWorksheet.Name < "Sheet2" And _ * * * * ActiveWorksheet.Name < "Sheet3" Then * * * * SortThisWay * * Else * * * * SortOtherWay * * End If -- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) wrote in message ... On Apr 25, 5:04 am, "Roger Govier" <roger@technology4unospamdotcodotuk wrote: Hi Maybe something like the following If activesheet.index <23 sort1 Else sort2 End if -- Regards Roger Govier wrote in message ... VBA newbie. I'm sure there's an easier way to write this but I can't seem to form my question succinctly enough to find the answer. My code below works perfectly. Except for the fact that my workbook contains 25 worksheets that I want tosortexactly the same way and only 3 worksheets I need tosortdifferently. How can I update the first argument to say "If ActiveWorksheet.Name < ("Sheet1, Sheet2, Sheet3, Sheet4, etc. all the way to 22),sortthis way; if Active Worksheet.Name = "Sheet23",sortthis way. Any and all help is tremedously appreciated. Sub SortCurrent() If ActiveSheet.Name = "Sheet1" Then Range("A:L").SortKey1:=Range("C2"), Order1:=xlAscending, Key2:=Range _ ("D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If If ActiveSheet.Name = "Sheet 23" Then Range("B:C").SortKey1:=Range("B2"), Order1:=xlAscending, Key2:=Range _ ("C2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal End If End Sub- Hide quoted text - - Show quoted text - I went with Bob's suggestion (because my sheets aren't really named Sheet1,2,3, etc. I just used that for clarification purposes) but I receive a "Too many continuation lines" error message. Thanks as always- Hide quoted text - - Show quoted text - Both of you are brilliant, brilliant, brilliant. I knew it would be easy. I couldn't see the forest for the trees. Thank you all, have a great weekend! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Sort doesn't recognize current region | Excel Worksheet Functions | |||
'Save current worksheet'; 'Open next worksheet' - two command buttons | Excel Discussion (Misc queries) | |||
I want in one worksheet to relatively link to/reference cells in another without changing the format of the current worksheet. | Excel Discussion (Misc queries) | |||
excel change default column sort to current selection | Excel Worksheet Functions | |||
I want to sort data randomly in addition to the current descendin. | Excel Worksheet Functions |