星期二, 九月 26, 2006

Tips:Excel sort by Each Column of Row

1.Excel提供的按照 行 排序的功能,只能根据第一行,第一列来排序。
不能按照每一行第一列来排序。

必须自己编写一个方法来提供这个功能。
'iWhichWay as xlAscending 或 xlDescending,见Excel 2003 VBA 参考手册

Function SortRows(ByVal iWhichWay As Integer, rng As Range)
Dim rRow As Range
Dim parentSheet As String
parentSheet = rng.Parent.Name

Sheets(parentSheet).Activate '可以在任意sheet工作薄里对数据

'xlAscending,xlDescending
For Each rRow In rng.Rows
rRow.Sort Key1:=Range(rRow.Cells(1).Address), Order1:=iWhichWay , _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Next
End Function