返回列表 上一主題 發帖

[發問] "排序"/"刪除整列"有沒有其它的程式寫法?

回復 10# PJChen
2010版本是可以多鍵排序,你所錄的程式碼即可
若要以2003排序限制,可利用排序欄位順序,使用迴圈去排列即可,但這要你說明欄位順序
學海無涯_不恥下問

TOP

回復 12# PJChen
2010與2003排序方法不同
你所上傳的檔案欄位與程式碼不符
依照大意修改如下
  1. Sub nn()
  2. With Workbooks("BCM Order_Format.xlsx")
  3.    With .Sheets("PO")
  4.    Set Rng = Union(.[D2], .[Z2], .[H2], .[G2], .[E2])
  5.     .AutoFilter.Sort.SortFields.Clear
  6.     For Each A In Rng
  7.        .AutoFilter.Sort.SortFields.Add Key:=.Range(A, A.End(xlDown)) _
  8.         , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
  9.         xlSortNormal
  10.     Next
  11.     With .AutoFilter.Sort
  12.         .Header = xlYes
  13.         .MatchCase = False
  14.         .Orientation = xlTopToBottom
  15.         .SortMethod = xlPinYin
  16.         .Apply
  17.     End With
  18.   End With
  19. End With
  20. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 17# PJChen
  1. Sub nn()
  2. With Workbooks("BCM Order_Format.xlsx")
  3.    With .Sheets("PO")
  4.    Set b = .Range("A1").CurrentRegion
  5.    a = Array(4, 26, 8, 7, 5)
  6.     .AutoFilter.Sort.SortFields.Clear
  7.     For i = 0 To 4
  8.        .AutoFilter.Sort.SortFields.Add Key:=b.Columns(a(i)) _
  9.         , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
  10.         xlSortNormal
  11.     Next
  12.     With .AutoFilter.Sort
  13.         .Header = xlYes
  14.         .MatchCase = False
  15.         .Orientation = xlTopToBottom
  16.         .SortMethod = xlPinYin
  17.         .Apply
  18.     End With
  19.   End With
  20. End With
  21. End Sub
複製代碼
學海無涯_不恥下問

TOP

本帖最後由 Hsieh 於 2012-4-30 19:33 編輯

回復 19# PJChen
Set b = .Range("A1").CurrentRegion
是把變數b設成與A1儲存格所有相連的範圍
就是說從A1向右到整欄空白、向下到整列空白所形成的範圍,請看動畫。
play.gif
所以,在2010版本中,篩選排序欄位是先新增所有排序層級後
再一次依照設定層級先後去排列(Apply)

a = Array(4, 26, 8, 7, 5)
改成a = Array(D,Z,H,G,E),就行不通了
這是因為D,Z,H,G,E這會視為5個變數D,Z,H,G,E,而不是這5個字母
a = Array("D","Z","H","G","E")
這樣才會把陣列元素讀為字母
學海無涯_不恥下問

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題