Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 31
Default Sort Current Worksheet

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10,593
Default Sort Current Worksheet

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,480
Default Sort Current Worksheet

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 31
Default Sort Current Worksheet

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
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Sort Current Worksheet

Maybe using "Select Case" and the short list of worksheet names:

Add
Option Compare Text
at the top of your module or you'll have to be very careful matching the case of
the sheet names in your code.

Sheet1 < SHEET1 < sheET1 < ShEeT1

Select case activesheet.name
case is = "sheet1", "sheet2", "sheet99"
call doOneWay
case else
call dotheotherway
end select



wrote:

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


--

Dave Peterson


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10,593
Default Sort Current Worksheet

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 31
Default Sort Current Worksheet

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
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Sort doesn't recognize current region RobWN Excel Worksheet Functions 2 September 7th 07 10:48 PM
'Save current worksheet'; 'Open next worksheet' - two command buttons englishmustard Excel Discussion (Misc queries) 1 April 7th 06 12:54 PM
I want in one worksheet to relatively link to/reference cells in another without changing the format of the current worksheet. [email protected] Excel Discussion (Misc queries) 0 September 22nd 05 04:39 PM
excel change default column sort to current selection john palmer Excel Worksheet Functions 2 March 8th 05 03:07 PM
I want to sort data randomly in addition to the current descendin. ckephart Excel Worksheet Functions 2 November 12th 04 06:11 PM


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"