標題:
求問原因:排序4個key出現Error, 3個key 沒問題
[打印本頁]
作者:
198188
時間:
2024-7-19 16:23
標題:
求問原因:排序4個key出現Error, 3個key 沒問題
Letter = "G"
Worksheets("Backup").Range("A2:BB65536").sort Key1:=Range("D3"), Order1:=xlAscending, _
Key2:=Range("A3"), Order2:=xlAscending, Key3:=Range(letter & "3"), Order3:=xlAscending, Header:=xlYes
Worksheets("Backup").Range("A2:BB65536").sort Key1:=Range("D3"), Order1:=xlAscending, _
Key2:=Range("A3"), Order2:=xlAscending, Key3:=Range("B3"), Order3:=xlAscending, Key4:=Range(letter & "3"), Order4:=xlAscending, Header:=xlYes
複製代碼
在做排序時,我使用4個key 就會出現Error, 只是3個Key就沒問題,請問是什麽原因
作者:
Andy2483
時間:
2024-7-20 10:11
回復
1#
198188
建議用錄製巨集的方法
作者:
198188
時間:
2024-7-22 09:03
回復
2#
Andy2483
上面的就是錄製巨集后,抄到程式内,可是運行時出現錯誤。
然後我刪了KEY4后,就沒問題了。
作者:
Andy2483
時間:
2024-7-23 08:21
回復
3#
198188
建議4層排序都用錄製的方式
作者:
luhpro
時間:
2024-8-18 06:59
在做排序時,我使用4個key 就會出現Error, 只是3個Key就沒問題,請問是什麽原因
198188 發表於 2024-7-19 16:23
請參考 :
Range.Sort 方法 (Excel)
在 Sort 的語法說明中可以看到 排序條件最多只能有 "3" 個
[attach]37844[/attach]
若你使用錄製時選擇超過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
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)