+ Reply to Thread
Results 1 to 9 of 9

4 column sort... Fools rush in....

  1. #1
    Neal Zimm
    Guest

    4 column sort... Fools rush in....

    Not knowing any better, I took the recorded code for a 3 column sort and
    tried to turn it into a 4 column sort. Got run time 1004 object error. Code
    is below.

    Is it possible to do what I'm trying this way? I'd rather not have to select
    different ranges of cells and do a 3 column sort, but I may have to.
    So, have I made an error in the code, or is it just not possible?
    Thanks.


    Sub zsortbcda()
    Application.ScreenUpdating = False

    Columns("A:D").Select

    Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _
    Key2:=Range("C1"), Order2:=xlAscending, _
    Key3:=Range("D1"), Order3:=xlAscending, _
    Key4:=Range("A1"), Order4:=xlAscending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    DataOption3:=xlSortNormal, DataOption4:=xlSortNormal

    Range("A1").Select

    Application.ScreenUpdating = True
    End Sub
    --
    Neal Z

  2. #2
    JE McGimpsey
    Guest

    Re: 4 column sort... Fools rush in....

    Sort only works on a maximum of three columns at a time. Do two
    consecutive sorts - the first on the three least-important columns, then
    the second on the most important.

    In article <[email protected]>,
    Neal Zimm <[email protected]> wrote:

    > Not knowing any better, I took the recorded code for a 3 column sort and
    > tried to turn it into a 4 column sort. Got run time 1004 object error. Code
    > is below.
    >
    > Is it possible to do what I'm trying this way? I'd rather not have to select
    > different ranges of cells and do a 3 column sort, but I may have to.
    > So, have I made an error in the code, or is it just not possible?


  3. #3
    Hari Prasadh
    Guest

    Re: 4 column sort... Fools rush in....

    Hi Neal,

    Probably you are asking for a code which could do 4 column sort in ONE
    sorting operation. I dont know about that.

    But programmatically you could do TWO sorting operations like the following
    and get the SAME results.

    Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, _
    Key2:=Range("D1"), Order2:=xlAscending, _
    Key3:=Range("A1"), Order3:=xlAscending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    DataOption3:=xlSortNormal,

    Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _
    Key2:=Range("C1"), Order2:=xlAscending, _
    Key3:=Range("D1"), Order3:=xlAscending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    DataOption3:=xlSortNormal,

    Modify it to your requirements

    Thanks a lot,
    Hari
    India


    "Neal Zimm" <[email protected]> wrote in message
    news:[email protected]...
    > Not knowing any better, I took the recorded code for a 3 column sort and
    > tried to turn it into a 4 column sort. Got run time 1004 object error.
    > Code
    > is below.
    >
    > Is it possible to do what I'm trying this way? I'd rather not have to
    > select
    > different ranges of cells and do a 3 column sort, but I may have to.
    > So, have I made an error in the code, or is it just not possible?
    > Thanks.
    >
    >
    > Sub zsortbcda()
    > Application.ScreenUpdating = False
    >
    > Columns("A:D").Select
    >
    > Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _
    > Key2:=Range("C1"), Order2:=xlAscending, _
    > Key3:=Range("D1"), Order3:=xlAscending, _
    > Key4:=Range("A1"), Order4:=xlAscending, _
    > Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    > Orientation:=xlTopToBottom, _
    > DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    > DataOption3:=xlSortNormal, DataOption4:=xlSortNormal
    >
    > Range("A1").Select
    >
    > Application.ScreenUpdating = True
    > End Sub
    > --
    > Neal Z




  4. #4
    Myrna Larson
    Guest

    Re: 4 column sort... Fools rush in....

    Did you try looking at Help for Sort? It works the same way in VBA as it does
    when invoked from the Data menu.

    On Thu, 3 Feb 2005 21:19:02 -0800, Neal Zimm <[email protected]> wrote:

    >Not knowing any better, I took the recorded code for a 3 column sort and
    >tried to turn it into a 4 column sort. Got run time 1004 object error. Code
    >is below.
    >
    >Is it possible to do what I'm trying this way? I'd rather not have to select
    >different ranges of cells and do a 3 column sort, but I may have to.
    >So, have I made an error in the code, or is it just not possible?
    >Thanks.
    >
    >
    >Sub zsortbcda()
    >Application.ScreenUpdating = False
    >
    > Columns("A:D").Select
    >
    > Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _
    > Key2:=Range("C1"), Order2:=xlAscending, _
    > Key3:=Range("D1"), Order3:=xlAscending, _
    > Key4:=Range("A1"), Order4:=xlAscending, _
    > Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    >Orientation:=xlTopToBottom, _
    > DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    > DataOption3:=xlSortNormal, DataOption4:=xlSortNormal
    >
    > Range("A1").Select
    >
    >Application.ScreenUpdating = True
    >End Sub



  5. #5
    Nigel
    Guest

    Re: 4 column sort... Fools rush in....

    Hi
    You can do as many sorts as you like - but only 3 at anyone time. Sorts in
    Excel are persistent, so if you start with the lowest order sort key and end
    with the highest order you will get the result you require.


    --
    Cheers
    Nigel



    "Neal Zimm" <[email protected]> wrote in message
    news:[email protected]...
    > Not knowing any better, I took the recorded code for a 3 column sort and
    > tried to turn it into a 4 column sort. Got run time 1004 object error.

    Code
    > is below.
    >
    > Is it possible to do what I'm trying this way? I'd rather not have to

    select
    > different ranges of cells and do a 3 column sort, but I may have to.
    > So, have I made an error in the code, or is it just not possible?
    > Thanks.
    >
    >
    > Sub zsortbcda()
    > Application.ScreenUpdating = False
    >
    > Columns("A:D").Select
    >
    > Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _
    > Key2:=Range("C1"), Order2:=xlAscending, _
    > Key3:=Range("D1"), Order3:=xlAscending, _
    > Key4:=Range("A1"), Order4:=xlAscending, _
    > Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    > Orientation:=xlTopToBottom, _
    > DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    > DataOption3:=xlSortNormal, DataOption4:=xlSortNormal
    >
    > Range("A1").Select
    >
    > Application.ScreenUpdating = True
    > End Sub
    > --
    > Neal Z




  6. #6
    Neal Zimm
    Guest

    Re: 4 column sort... Fools rush in....

    Thanks for the tip re: 3 least important (minor, semantics, but all the
    columns are important). I was doing 2 cols and 2 cols and getting results I
    didn't like.

    "JE McGimpsey" wrote:

    > Sort only works on a maximum of three columns at a time. Do two
    > consecutive sorts - the first on the three least-important columns, then
    > the second on the most important.
    >
    > In article <[email protected]>,
    > Neal Zimm <[email protected]> wrote:
    >
    > > Not knowing any better, I took the recorded code for a 3 column sort and
    > > tried to turn it into a 4 column sort. Got run time 1004 object error. Code
    > > is below.
    > >
    > > Is it possible to do what I'm trying this way? I'd rather not have to select
    > > different ranges of cells and do a 3 column sort, but I may have to.
    > > So, have I made an error in the code, or is it just not possible?

    >


  7. #7
    Neal Zimm
    Guest

    Re: 4 column sort... Fools rush in....

    Thanks. That's what I ended up doing.

    "Hari Prasadh" wrote:

    > Hi Neal,
    >
    > Probably you are asking for a code which could do 4 column sort in ONE
    > sorting operation. I dont know about that.
    >
    > But programmatically you could do TWO sorting operations like the following
    > and get the SAME results.
    >
    > Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, _
    > Key2:=Range("D1"), Order2:=xlAscending, _
    > Key3:=Range("A1"), Order3:=xlAscending, _
    > Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    > Orientation:=xlTopToBottom, _
    > DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    > DataOption3:=xlSortNormal,
    >
    > Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _
    > Key2:=Range("C1"), Order2:=xlAscending, _
    > Key3:=Range("D1"), Order3:=xlAscending, _
    > Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    > Orientation:=xlTopToBottom, _
    > DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    > DataOption3:=xlSortNormal,
    >
    > Modify it to your requirements
    >
    > Thanks a lot,
    > Hari
    > India
    >
    >
    > "Neal Zimm" <[email protected]> wrote in message
    > news:[email protected]...
    > > Not knowing any better, I took the recorded code for a 3 column sort and
    > > tried to turn it into a 4 column sort. Got run time 1004 object error.
    > > Code
    > > is below.
    > >
    > > Is it possible to do what I'm trying this way? I'd rather not have to
    > > select
    > > different ranges of cells and do a 3 column sort, but I may have to.
    > > So, have I made an error in the code, or is it just not possible?
    > > Thanks.
    > >
    > >
    > > Sub zsortbcda()
    > > Application.ScreenUpdating = False
    > >
    > > Columns("A:D").Select
    > >
    > > Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _
    > > Key2:=Range("C1"), Order2:=xlAscending, _
    > > Key3:=Range("D1"), Order3:=xlAscending, _
    > > Key4:=Range("A1"), Order4:=xlAscending, _
    > > Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    > > Orientation:=xlTopToBottom, _
    > > DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    > > DataOption3:=xlSortNormal, DataOption4:=xlSortNormal
    > >
    > > Range("A1").Select
    > >
    > > Application.ScreenUpdating = True
    > > End Sub
    > > --
    > > Neal Z

    >
    >
    >


  8. #8
    Neal Zimm
    Guest

    Re: 4 column sort... Fools rush in....

    Thanks. Help only mentions 3 columns too.
    What I ended up doing is that the data allowed me to concatenate two of the
    fields into one, so I could sort on 4 fields worth of data in "3" columns.


    "Myrna Larson" wrote:

    > Did you try looking at Help for Sort? It works the same way in VBA as it does
    > when invoked from the Data menu.
    >
    > On Thu, 3 Feb 2005 21:19:02 -0800, Neal Zimm <[email protected]> wrote:
    >
    > >Not knowing any better, I took the recorded code for a 3 column sort and
    > >tried to turn it into a 4 column sort. Got run time 1004 object error. Code
    > >is below.
    > >
    > >Is it possible to do what I'm trying this way? I'd rather not have to select
    > >different ranges of cells and do a 3 column sort, but I may have to.
    > >So, have I made an error in the code, or is it just not possible?
    > >Thanks.
    > >
    > >
    > >Sub zsortbcda()
    > >Application.ScreenUpdating = False
    > >
    > > Columns("A:D").Select
    > >
    > > Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _
    > > Key2:=Range("C1"), Order2:=xlAscending, _
    > > Key3:=Range("D1"), Order3:=xlAscending, _
    > > Key4:=Range("A1"), Order4:=xlAscending, _
    > > Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    > >Orientation:=xlTopToBottom, _
    > > DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    > > DataOption3:=xlSortNormal, DataOption4:=xlSortNormal
    > >
    > > Range("A1").Select
    > >
    > >Application.ScreenUpdating = True
    > >End Sub

    >
    >


  9. #9
    Neal Zimm
    Guest

    Re: 4 column sort... Fools rush in....

    Thanks. I hadn't gotten to the combo yet of doing the minor fields first.
    What I actually ended up doing is that I was lucky in that my data in two of
    the columns allowed me to concatenate into another cell so I ended up sorting
    on 3 columns, but '4columns worth' of data.

    "Nigel" wrote:

    > Hi
    > You can do as many sorts as you like - but only 3 at anyone time. Sorts in
    > Excel are persistent, so if you start with the lowest order sort key and end
    > with the highest order you will get the result you require.
    >
    >
    > --
    > Cheers
    > Nigel
    >
    >
    >
    > "Neal Zimm" <[email protected]> wrote in message
    > news:[email protected]...
    > > Not knowing any better, I took the recorded code for a 3 column sort and
    > > tried to turn it into a 4 column sort. Got run time 1004 object error.

    > Code
    > > is below.
    > >
    > > Is it possible to do what I'm trying this way? I'd rather not have to

    > select
    > > different ranges of cells and do a 3 column sort, but I may have to.
    > > So, have I made an error in the code, or is it just not possible?
    > > Thanks.
    > >
    > >
    > > Sub zsortbcda()
    > > Application.ScreenUpdating = False
    > >
    > > Columns("A:D").Select
    > >
    > > Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, _
    > > Key2:=Range("C1"), Order2:=xlAscending, _
    > > Key3:=Range("D1"), Order3:=xlAscending, _
    > > Key4:=Range("A1"), Order4:=xlAscending, _
    > > Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
    > > Orientation:=xlTopToBottom, _
    > > DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
    > > DataOption3:=xlSortNormal, DataOption4:=xlSortNormal
    > >
    > > Range("A1").Select
    > >
    > > Application.ScreenUpdating = True
    > > End Sub
    > > --
    > > Neal Z

    >
    >
    >


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1