應(yīng)用場景 對數(shù)據(jù)區(qū)域按固定規(guī)則排序 對當(dāng)前工作表的已用區(qū)域排序 知識要點(diǎn) 1:Application.Version,返回一個String,,代表Microsoft Excel版本號, 2:.UsedRange 已用區(qū)域 3:Sort,代表數(shù)據(jù)區(qū)域的排序方式,SortOn排序參數(shù)-按顏色/按值排序,Order排序方式-升序/降序,DataOption指定文本的排序方式-分別對數(shù)字和文本進(jìn)行排序/將文本作為數(shù)字進(jìn)行排序 Sub 排序() Dim Rng As Range Set Rng = ActiveSheet.UsedRange '將當(dāng)前表已用區(qū)域賦予變量rng '根據(jù)代碼版本號執(zhí)行對應(yīng)的排序代碼,,excel07的版本號是12,10版本號是14 If Application.Version * 1 < 12 Then GoTo Line1 Else GoTo Line2 Line1: '07版本之前使用 Rng.Offset(1, 0).Sort Key1:=Range('B2'), Order1:=xlAscending, Header:=xlGuess, _ Ordercustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal Exit Sub Line2: With ActiveSheet.Sort '利用排序?qū)ο筮M(jìn)行排序 .SortFields.Clear '清除原有的sortfields對象,該對象存儲了排序狀態(tài) .SortFields.Add Key:=Range('B2'), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal '添加排序條件 .SetRange Rng '設(shè)置排序的區(qū)域?yàn)閞ng .Orientation = xlTopToBottom '排序方向?yàn)榭v向 .Apply '根據(jù)當(dāng)前應(yīng)用的排序狀態(tài)對區(qū)域進(jìn)行排序 End With End Sub |
|