[英]Excel-VBA Sort doesn't work
我的排序功能有問題。 沒用 如果我在手動排序時記錄宏,則記錄的內容看起來像我的。 子看起來如下:
Public Sub sortSelectionByDate(ByRef wrksheet As Worksheet, ByVal fromRow As Integer, ByVal toRow As Integer)
'debug
toRow = toRow - 1
wrksheet.Select
wrksheet.Rows(fromRow & ":" & toRow).Select
With Selection
.Sort Key1:=Range("A9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
End Sub
先感謝您....
克里斯多夫
它很可能無法正常工作,因為您傳遞的不是工作表,而不是激活工作表,然后嘗試進行排序。 以下是指向您所遇到問題的描述的鏈接: 開始VBA:選擇並激活 。 長話短說,除非您希望用戶能夠根據自己的選擇來運行代碼,否則切勿使用.Select或.Selection。 即使那樣,仍然不是一個好主意。 這是您的子代碼改寫成一行:
Public Sub sortSelectionByDate(ByRef wrksheet As Worksheet, ByVal fromRow As Integer, ByVal toRow As Integer)
wrksheet.Rows(fromRow & ":" & toRow - 1).Sort Key1:=wrkSheet.Range("A9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
重要的更改是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.