我正在嘗試進行多級排序宏,而行數是動態的。我一直在搞一些測試數據,試圖讓它起作用,但是我一直從Excel中獲得1004個運行時錯誤。希望第二雙眼睛能幫助解決這個問題。使用動態範圍和customOrder excel對宏進行排序
下面是測試數據
A B C D
Num Status Junk Junk
1 Open 1 1
2 Open 2 2
3 Closed 3 3
3 Open 3 3
4 Open 4 4
6 Open 6 6
8 Open 8 8
8 Open 8 8
34 Open 34 34
456 Open 456 456
5 Closed 5 5
853 Open 853 853
2345Closed 2345 2345
234 Open 234 234
23 Closed 23 23
4 Open 4 4
76 Closed 76 76
345 Open 345 345
623 Closed 623 623
523 Open 523 523
4525Closed 4525 4525
6 Open 6 6
這裏是我的宏
Range("A1:D1").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add _
Key:=Range("B1:B10"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"Open,Closed", DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add _
Key:=Range("A1:A10"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
而且看到我有範圍的線( 「A1:A10」),希望A10是最後一次行。所以我不確定要放在那裏。
感謝所有,
吉姆
Excel的錯誤1004意味着你的VBA代碼拋出一個錯誤,但是你忽略了與錯誤處理程序來捕獲它。你應該總是在Excel VBA中有一個錯誤處理程序,以避免這個問題和其他許多問題。在錯誤處理程序中放入一個'ON ERROR ...'語句,然後像'MsgBox'錯誤#「&Err.Number&」:「&Err.Description,vbOKOnly'這樣的語句來查看你的實際錯誤是什麼。 – RBarryYoung