Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Sort Macro
Hi All
Below is the code for a sort Macro works OK no problem - the question is that on the sheet there are 20 blocks of 4 line ranges all in the same columns. How would I incorporate them in this little macro. Ranges are as follows C2:D5, C6:D9, C10:D13, C14:D17 as so on down to ranges C54:D57 Sub Macro8() Sheets("Lindop").Select Range("C2:D5").Select ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Clear ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Add Key:=Range("D22:D25") _ , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Lindop").Sort .SetRange Range("C2:D5") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub -- Many thanks hazel |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Sort Macro
hi Hazel,
I copied your code and pasted into a standard module and my compiler freaked out. turned all the code red. so i rewrote it. try this. Sub Sort4LinesInColumn() Sheets("Sheet2").Select Range("C2").Select Do While Not IsEmpty(ActiveCell) Range(Selection, Selection.Offset(3, 1)).Select Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal ActiveCell.Select ActiveCell.Offset(4, 0).Activate Loop End Sub I am using xp and this code sorted 4 groups of 4 lines in the same columns ...number and letters. give it a try and post back if you have problems. do it in step mode. Regards FSt1 "Hazel" wrote: Hi All Below is the code for a sort Macro works OK no problem - the question is that on the sheet there are 20 blocks of 4 line ranges all in the same columns. How would I incorporate them in this little macro. Ranges are as follows C2:D5, C6:D9, C10:D13, C14:D17 as so on down to ranges C54:D57 Sub Macro8() Sheets("Lindop").Select Range("C2:D5").Select ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Clear ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Add Key:=Range("D22:D25") _ , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Lindop").Sort .SetRange Range("C2:D5") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub -- Many thanks hazel |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Sort Macro
Hi
Going to have a go now -- probably should have indicated I recorded the macro in Excel 2007. Will let you know how I get on. -- Many thanks hazel "FSt1" wrote: hi Hazel, I copied your code and pasted into a standard module and my compiler freaked out. turned all the code red. so i rewrote it. try this. Sub Sort4LinesInColumn() Sheets("Sheet2").Select Range("C2").Select Do While Not IsEmpty(ActiveCell) Range(Selection, Selection.Offset(3, 1)).Select Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal ActiveCell.Select ActiveCell.Offset(4, 0).Activate Loop End Sub I am using xp and this code sorted 4 groups of 4 lines in the same columns ..number and letters. give it a try and post back if you have problems. do it in step mode. Regards FSt1 "Hazel" wrote: Hi All Below is the code for a sort Macro works OK no problem - the question is that on the sheet there are 20 blocks of 4 line ranges all in the same columns. How would I incorporate them in this little macro. Ranges are as follows C2:D5, C6:D9, C10:D13, C14:D17 as so on down to ranges C54:D57 Sub Macro8() Sheets("Lindop").Select Range("C2:D5").Select ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Clear ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Add Key:=Range("D22:D25") _ , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Lindop").Sort .SetRange Range("C2:D5") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub -- Many thanks hazel |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Sort Macro
Hi
I have inserted and run your code - however it will not sort the criteria of column D followed by column C -- again I have looked at the macro above and there is an error in the typing that is probably why the code turned Red when you tried have highlighted the error below. Perhaps another go at it please. Sub Macro8() Sheets("Lindop").Select Range("C2:D5").Select ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Clear ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Add 'Key:=Range("D2:D5") _ <<< should be this not the line below Key:=Range("D22:D25") _ , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Lindop").Sort ..SetRange Range("C2:D5") ..Header = xlGuess ..MatchCase = False ..Orientation = xlTopToBottom ..SortMethod = xlPinYin ..Apply End With End Sub -- Many thanks hazel "FSt1" wrote: hi Hazel, I copied your code and pasted into a standard module and my compiler freaked out. turned all the code red. so i rewrote it. try this. Sub Sort4LinesInColumn() Sheets("Sheet2").Select Range("C2").Select Do While Not IsEmpty(ActiveCell) Range(Selection, Selection.Offset(3, 1)).Select Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal ActiveCell.Select ActiveCell.Offset(4, 0).Activate Loop End Sub I am using xp and this code sorted 4 groups of 4 lines in the same columns ..number and letters. give it a try and post back if you have problems. do it in step mode. Regards FSt1 "Hazel" wrote: Hi All Below is the code for a sort Macro works OK no problem - the question is that on the sheet there are 20 blocks of 4 line ranges all in the same columns. How would I incorporate them in this little macro. Ranges are as follows C2:D5, C6:D9, C10:D13, C14:D17 as so on down to ranges C54:D57 Sub Macro8() Sheets("Lindop").Select Range("C2:D5").Select ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Clear ActiveWorkbook.Worksheets("Lindop").Sort.SortField s.Add Key:=Range("D22:D25") _ , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Lindop").Sort .SetRange Range("C2:D5") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub -- Many thanks hazel |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Macro Help Needed - Excel 2007 - Print Macro with Auto Sort | Excel Worksheet Functions | |||
Using Macro to sort without clicking on macro button | Excel Discussion (Misc queries) | |||
Sort Macro | Excel Discussion (Misc queries) | |||
Sort Macro | Excel Programming | |||
Sort Macro | Excel Discussion (Misc queries) |