Macro to Sort
Thank you all for your help ..
Barb: your suggestion worked perfectly .. thanks heaps ..
Dave: Range("A13:Corner") is the range i want to sort. I just defined a name
'Corner' to cell DB50 as the range will change every time the user adds new
rows (or delete existing rows).
JLGWhiz: I tried your solution but for some reason the macro doesn't like
this "&" symbol! Everytime i run it, this symbol gets highlighted and i get
an error message "Type Mismatch" .. any idea why this happens?
"JLGWhiz" wrote:
If you are going to use Range() as your Sort Key then you would need to get
the column letter in the input box Like:
ColumnToSort = InputBox (Please enter the index of the column you wish to
sort by)
ColumnToSort = UCase(ColumnToSort)
SortKeyRange = ColumnToSort & 13
Selection.Sort Key1:=Range(SortKeyRange), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Otherwise, use the Cells configuration that Barb suggested. If you don't
want rows 1 thru 12 included in the sort, then you will need to define the
sort range as well. Otherwise, you can get undesired results.
If ColumnToSort = then
"Tendresse" wrote:
Hi all,
I have a worksheet that has 106 columns, some of them have dates, some have
text, etc. I want to write a macro to allow users to sort the list in
ascending order based on the column of their choice, by asking the user to
enter the letter of the alphabet located on top of the column. Im using
excel 2003. I dont seem to get the code right yet. I would appreciate it if
someone tells me where I went wrong:
Sub SORT()
code that will select the range to be sorted
Ask user which column they want to sort by
Dim ColumnToSort as String
ColumnToSort = InputBox (Please enter the index of the column you wish to
sort by)
If ColumnToSort = then
Exit Sub
End If
Here is where Im stuck. I dont know how to use the ColumnToSort as the Key1
I want Key1 to be the cell in Row number 13 and Column ColumnToSort
Selection.Sort Key1:=Range(ColumnToSort & 13), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End sub
|