Results 1 to 10 of 193

Thread: Appendix Thread 2. ( Codes for other Threads, HTML Tables, etc.)

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #11
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    10,457
    Rep Power
    10

    Final Demo of recursion array sort on multi coliumns

    Take an example,
    A list of Foods, their name in first column and a few other things like calories(Kcal) and Salt content in other columns

    First I want to sort to group similar products (based on alphabetical order, but ascending or descending is not important) - This will be sorting on column 1 values

    Within similar food types, I want to list them in an order of how healthy they might be, ( or at least in the order of least unhealthy ) .
    Most important would be order starting with lowest Kcal.
    After that for similar products with similar Kcal , we would consider the minimum salt content as likely to be the less unhealthy.

    This might be our list
    _____ ( Using Excel 2007 32 bit )
    Row\Col
    R
    S
    T
    U
    V
    W
    22
    Food Product Was S22 Kcal Was U22 Salt Was W22
    23
    Crisps Was S23
    500
    Was U23
    0.7
    Was W23
    24
    Beer Was S24
    200
    Was U24
    0.1
    Was W24
    25
    Wine Was S25
    150
    Was U25
    0.15
    Was W25
    26
    Beer Was S26
    200
    Was U26
    0.07
    Was W26
    27
    beer Was S27
    220
    Was U27
    0.2
    Was W27
    28
    Beer Was S28
    210
    Was U28
    0.06
    Was W28
    29
    Wine Was S29
    160
    Was U29
    0.04
    Was W29
    30
    wiNe Was S30
    150
    Was U30
    0.03
    Was W30
    31
    Crisps Was S31
    502
    Was U31
    2
    Was W31
    32
    Onion Ringes Was S32
    480
    Was U32
    1
    Was W32
    33
    Onion Ringes Was S33
    490
    Was U33
    1.5
    Was W33
    34
    Crisps Was S34
    502
    Was U34
    1.5
    Was W34
    35
    CRISPS Was S35
    500
    Was U35
    1.1
    Was W35
    36
    Wine Was S36
    170
    Was U36
    0.1
    Was W36
    37
    Crisps Was S37
    500
    Was U37
    3
    Was W37
    Worksheet: Sorting


    Here is a demo Calling test routine

    Code:
    Sub TestieSimpleArraySort6()
    Rem 0 test data, worksheets info
    Dim WsS As Worksheet: Set WsS = ThisWorkbook.Worksheets("Sorting")
    Dim RngToSort As Range: Set RngToSort = WsS.Range("R23:W37")
    ' Set RngToSort = Selection '                          ' Selection.JPG : https://imgur.com/HnCdBt8
    Dim arrTS() As Variant: Let arrTS() = RngToSort.Value ' We would have to use  .Value  for a range capture of this sort because  .Value  returns a field of Variant types.  But also at this stage we want to preserve string and number types
    ' Call SimpleArraySort6(1, arrTS(), " 1 2 3 4 5 ", " 1 Asc 2 Asc 3 Asc")
    Dim cnt As Long, strIndcs As String: Let strIndcs = " "
        For cnt = 1 To RngToSort.Rows.Count
         Let strIndcs = strIndcs & cnt & " "
        Next cnt
    Debug.Print strIndcs ' For 5 rows , for example we will have  " 1 2 3 4 5 " , for 15 rows  " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 "
     Call SimpleArraySort6(1, arrTS(), strIndcs, " 1 Desc 3 Asc 5 Asc")
    Rem 2 Output for easy of demo
    ' 2a
     RngToSort.Offset(0, RngToSort.Columns.Count).Clear
     Let RngToSort.Offset(0, RngToSort.Columns.Count).Value = arrTS()
     Let RngToSort.Offset(0, RngToSort.Columns.Count).Interior.Color = vbYellow
    ' 2b VBA Range.Sort Method equivalent
    Dim TestRngSrt As Range: Set TestRngSrt = RngToSort.Offset(0, RngToSort.Columns.Count * 2)
     TestRngSrt.Clear
     Let TestRngSrt.Value = RngToSort.Value
     TestRngSrt.Sort Key1:=TestRngSrt.Columns("A:A"), order1:=xlDescending, Key2:=TestRngSrt.Columns("C:C"), order2:=xlAscending, Key3:=TestRngSrt.Columns("E:E"), order3:=xlAscending
     TestRngSrt.Interior.Color = vbGreen
    End Sub
    '
    That above routine uses the test range R23:W37 above and feeds that to the main recursion routine below in the next post. The demo routine also does the VBA Range.Sort equivalent code line
    Last edited by DocAElstein; 02-22-2019 at 10:36 PM.

Similar Threads

  1. VBA to Reply All To Latest Email Thread
    By pkearney10 in forum Outlook Help
    Replies: 11
    Last Post: 12-22-2020, 11:15 PM
  2. Appendix Thread. Diet Protokol Coding Adaptions
    By DocAElstein in forum Test Area
    Replies: 6
    Last Post: 09-05-2019, 10:45 AM
  3. Replies: 19
    Last Post: 04-20-2019, 02:38 PM
  4. Search List of my codes
    By PcMax in forum Excel Help
    Replies: 6
    Last Post: 08-03-2014, 08:38 AM

Posting Permissions

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