返回列表 上一主題 發帖

[發問] 如何將巨集而成的"排序"改成目前選取中的排序

[發問] 如何將巨集而成的"排序"改成目前選取中的排序

Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlStroke, DataOption1:=xlSortNormal

以上是針對C欄排序地巨集

是否可以改寫成針對目前所選取範圍的排序?

本帖最後由 register313 於 2012-2-21 11:43 編輯

回復 1# av8d

Selection.Sort Key1:=Selection, Order1:=xlAscending

Selection.Sort Key1:=Selection.Resize(1, 1), Order1:=xlAscending

TOP

回復 2# register313


    大大真是太厲害了~請問大大~如果是選取範圍是A3:C7的話~以C欄遞增排序~又該如何改寫呢?

TOP

回復 3# av8d

Selection.Sort Key1:=Selection.Offset(0, Selection.Columns.Count - 1), Order1:=xlAscending

以所選擇範圍之最後一欄為排序鍵作遞增排序

TOP

本帖最後由 av8d 於 2012-2-22 11:40 編輯

回復 4# register313

Selection.Sort Key1:=Selection.Offset(0, Selection.Columns.Count - 1), Order1:=xlAscending
    請問所選的最後一欄為Offset(0, Selection.Columns.Count - 1
舉例好了,如果我選了ABC欄所以
0=C欄
-1=B欄
-2=A欄

TOP

回復 5# av8d

若選A~C欄
Selection.Sort Key1:=Selection.Offset(0, 0), Order1:=xlAscending    以A欄為排序鍵
Selection.Sort Key1:=Selection.Offset(0, 1), Order1:=xlAscending    以B欄為排序鍵
Selection.Sort Key1:=Selection.Offset(0, 2), Order1:=xlAscending    以C欄為排序鍵

TOP

回復 6# register313


若選A~D欄
Selection.Sort Key1:=Selection.Offset(0, 0), Order1:=xlAscending    以A欄為排序鍵
Selection.Sort Key1:=Selection.Offset(0, 1), Order1:=xlAscending    以B欄為排序鍵
Selection.Sort Key1:=Selection.Offset(0, 2), Order1:=xlAscending    以C欄為排序鍵
Selection.Sort Key1:=Selection.Offset(0, 3), Order1:=xlAscending    以D欄為排序鍵

以上是否正確?感謝!

TOP

回復 7# av8d

正確

TOP

        靜思自在 : 不怕事多,只怕多事。
返回列表 上一主題