求問原因:排序4個key出現Error, 3個key 沒問題
- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2025-7-5
|
在做排序時,我使用4個key 就會出現Error, 只是3個Key就沒問題,請問是什麽原因
198188 發表於 2024-7-19 16:23 
請參考 :
Range.Sort 方法 (Excel)
在 Sort 的語法說明中可以看到 排序條件最多只能有 "3" 個
若你使用錄製時選擇超過3個排序條件應該會發現它使用另外一種語法實現 :
SortFields- Dim rTar As Range ' 排序標的
- Dim letter As String
-
- letter = "G"
- With Worksheets("Backup").Sort
- Set rTar = .Parent.Range("A2:BB65536")
-
- .SortFields.Clear ' 清除排序設定
-
- ' rTar.Columns("D") 取 rTar 儲存格範圍標的內的 D 欄資料
-
- .SortFields.Add2 Key:=rTar.Columns("D") _
- , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
-
- .SortFields.Add2 Key:=rTar.Columns("A") _
- , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
-
- .SortFields.Add2 Key:=rTar.Columns("B") _
- , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
-
- .SortFields.Add2 Key:=rTar.Columns(letter) _
- , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
- .SetRange rTar
- .Header = xlGuess
- .MatchCase = False
- .Orientation = xlTopToBottom
- .SortMethod = xlPinYin
- .Apply ' 執行排序
- End With
複製代碼 |
|
|
|
|
|
|
|