返回列表 上一主題 發帖

請教資料依2欄排序

回復 1# morris0914

依你所述,只有E欄為1時排序才由大到小
所以,只要先把所有資料依據E欄為主要鍵,D欄為次要鍵由小到大(遞增)排序後
再篩選出E欄為1的資料,然後依照D欄由大到小(遞減)排序
    play.gif
學海無涯_不恥下問

TOP

回復 3# morris0914
不懂你D欄遞增或遞減的判斷規則如何?
應該是0或偶數的E欄為遞增,奇數則遞減
如果是這樣,試試以下程式碼
  1. Sub nn()
  2. Dim Rng As Range, Rng1 As Range
  3. Set Rng = Range("A10").CurrentRegion
  4. x = Application.Min(Rng.Columns(5))
  5. y = Application.Max(Rng.Columns(5))
  6. For i = x To y
  7. Rng.AutoFilter Field:=5, Criteria1:=i
  8. k = i Mod 2
  9. Set Rng1 = Rng.Offset(1).SpecialCells(xlCellTypeVisible)
  10. Rng1.SpecialCells(xlCellTypeConstants).Sort key1:=Rng1.Cells(1, 4), order1:=k + 1, header:=xlGuess
  11. Rng.AutoFilter
  12. Next
  13. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 地上種了菜,就不易長草;心中有善,就不易生惡。
返回列表 上一主題