Thread: Sort Macro
View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
hazel hazel is offline
external usenet poster
 
Posts: 114
Default 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