Sorting

F

Francis Hookham

With a cell selected in a bold header row, clcking the 'Sort Ascending'
button on the toolbar does exactly what I want.

It would be great to be able to put something this into a macro

Cells(2, 3). Sort, Order1:=xlAscending

but if I record a particular situation I get

ActiveCell.Offset(-1, 0).Range("A1:D75").Sort
Key1:=ActiveCell.Offset(-1, 1). _
Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal

which is specific in that it is picking up the particular range which will
change in the sheet I am wanting to sort.

Any suggestions for a universal sorting macro - ok xlAscending and the other
bits can be set.

Francis Hookham
 
W

Will Cairns

I've had excellent results with changing "Header:=xlGuess" to
"Header:=xlYes" .. since it's not a function I've needed to use often I
cannot tell you the specifics as to why it works better, but it does.
 
F

Francis Hookham

Many thanks Tom, you have prompted me to simplifying it to

Sub SortDataArea()
SortRow = 3
SortCol = 1
Cells(SortRow, SortCol).CurrentRegion.Sort _
Key1:=Cells(SortRow, SortCol), Order1:=xlAscending, Header:=xlYes
End Sub

so I do not have to actually select an ActiveCell.

That will make a great macro for future use - I don't think it can be cut
down any more.

Francis Hookham
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top