LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,388
Default custom sort

Hi Dave,
Sorry, answered the wrong post.
Please see answer to Jim Cone's post, and take it as yours.
Dave.

"Dave Peterson" wrote:

It seems weird to me, too.

Without knowing the real reason, I think it's because two different programmers
(or two different teams of programmers or even one person at different times!)
didn't really talk to each other.

VBA's help (xl2003) for Sort shows this for ordercustom:

OrderCustom Optional Variant. This argument is a one-based integer offset to
the list of custom sort orders. If you omit OrderCustom, a normal sort is used.

But I think that this just documents how it was implemented. My guess (and it's
just a guess) is that the sort programmer expected the custom list programmer to
use 0 based stuff. And the sort programmer wanted to index starting at 0+1, but
then saw how his portion had to work.

It was too late in the development cycle (or too many versions of excel were
already in used) to go back and "fix" the problem. So the solution was to
document it in the Help. And that made it a documented feature, not a
problem/bug/error.

But that's just a guess!

And you could go to some trouble by building a two column table -- on column for
the value and one for the order. Then use =vlookup() to return that order and
sort by the helper column.

But that's way too much work!

And since it's something I never remember (and I bet you won't either <bg),
document your code so that if you need to do it again and find this macro, you
won't have to scratch your head again (or test until you see the solution!).

Dave wrote:

Hi,
XL2003
I was hoping someone could shed some light on this for me.
In the following code, notice that I had to use "n+1" to make it work when
sorting, but just n to delete the custom list.
When I look at the custom list in Tools,Options, I see:

NEW LIST
Mon, Tue, Wed, etc
Monday, Tuesday, Wednesday, etc
Jan, Feb, Mar, etc
January, February, March, etc

For some reason, when actually using the custom list,
XL seems to be counting the "NEW LIST" as number 1, but not so when deleting
or when getting the custom list number.

Application.AddCustomList Array("T", "B", "E")
n = Application.GetCustomListNum(Array("T", "B", "E"))

Range(z).Sort _
Key1:=Range("C2"), Header:=xlNo, OrderCustom:=n + 1

Application.DeleteCustomList n

Is there a way to sort, according to a custom list, without actually
creating an official custom list?
I tried:
Range(z).Sort _
Key1:=Range("C2"), Header:=xlNo, OrderCustomArray("T", "B", "E")
but it gave an error.

Regards - Dave.


--

Dave Peterson

 
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
custom sort by vba SteveDB1 Excel Programming 4 January 13th 09 09:10 PM
Custom Sort lincservices Excel Worksheet Functions 1 June 10th 08 05:06 PM
Custom Sort Steve Stanley Excel Discussion (Misc queries) 1 February 26th 07 09:39 PM
Custom Sort Rafi Excel Programming 3 March 4th 06 08:44 PM
Excel sort by Fill Color by custom list sort Dash4Cash Excel Discussion (Misc queries) 2 July 29th 05 10:45 PM


All times are GMT +1. The time now is 06:11 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"