我一直在寫這個VBA代碼來幫助我對信息的數據庫進行排序(名稱,發票#,地址等)。我最近學會了如何在VBA中進行排序,而無需在工作表中選擇實際的範圍,並且我嘗試使用多個鍵(key1,key2,key3)進行排序,但沒有運氣。我不斷收到運行時錯誤450:運行此代碼時參數數量錯誤或屬性賦值錯誤。我希望能夠多次對一系列數據進行排序,例如按F列排序一個範圍(A:K),然後按E,然後按B等。在VBA中排序多個鍵;運行時錯誤450:錯誤的參數數量或無效的屬性分配
這是我一直在使用的代碼排序我的專欄:
ActiveSheet.Range("A:K").Sort _
Key1:=ActiveSheet.Range("F2"), Order1:=xlAscending, HEADER:=xlYes, Ordercustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
Key2:=ActiveSheet.Range("E2"), Order2:=xlAscending, HEADER:=xlYes, Ordercustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption2:=xlSortNormal, _
Key3:=ActiveSheet.Range("D2"), Order3:=xlAscending, HEADER:=xlYes, Ordercustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption3:=xlSortNormal
這是奇怪的,因爲一開始我嘗試運行的第2個密鑰(密鑰1,密鑰2)和它的工作完全沒有問題,然後我複製並粘貼到創建下一個鍵(KEY3 ),並出現錯誤。當我嘗試調試時,上面的所有代碼都被突出顯示。
我能想到的唯一的另一種方式是在工作表中選擇範圍(A:K)的地方運行代碼,但我不想那樣做。
您正在爲「HEADER」,「OrderCustom」和「方向」多次指定參數。我會嘗試首先刪除重複的參數。請參閱參數列表[這裏](https://msdn.microsoft.com/en-us/library/office/ff840646.aspx)。 – Comintern
我會先錄製一個可以做你想要的排序的宏。複製代碼並粘貼到這裏進行比較,或者可能會有足夠的信息,以便您自己修復它 – dbmitch