2015-11-30 41 views
2

我有一個關於如何在通過用戶表單提交給表格時自動排序信息的問題。如何自動排序用戶表單條目

我試過下面的代碼,但是得到錯誤。因爲我是新到Excel編碼,我只是無法弄清楚如何使這項工作:

Dim LR As Integer 
LR = Range("A1:E1").End(xlUp).Row 
Application.EnableEvents = False 
Range("A1:BB" & LR).Sort Key1:=Range("A1"), Order1:=xlDescending, _ 
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 
Application.EnableEvents = True 

標圖片

Header Information

用戶窗體圖片

UserForm

userfo RM本身工作得很好。我想在日期欄中按降序排序。

+0

什麼錯誤? –

回答

0
  1. 確認您要使用的確切紙張和範圍。
  2. 每次清除排序並重新應用排序。
  3. 在設置排序範圍之前,獲取上次使用的數據範圍。 (這就是你設置LR永遠是第1行。)

像這樣:

Application.EnableEvents = False 

Dim ws As Worksheet 
Set ws = Sheets("Sheet1") 'change as needed 

With ws 

    Dim LR As Long, rng As Range 

    LR = .Range("A" & .Rows.Count).End(xlUp).Row 
    Set rng = .Range("A1:BB" & LR) 

    With ws.Sort 

     With .SortFields 
      .Clear 
      .Add Key:=ws.Range("A2:A" & LR), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal 
     End With 

     .SetRange rng 
     .Header = xlYes 
     .MatchCase = False 
     .Orientation = xlTopToBottom 
     .SortMethod = xlPinYin 
     .Apply 

    End With 

End With 


Application.EnableEvents = True 
+0

這是一個非常基本的問題,但我如何限定範圍? –

+0

在我的代碼中查看'Set rng = ...'@VictorBroccoli –

+0

@ScottHoltzman謝謝您嵌入圖片,我很難弄清楚這一部分。 – puzzlepiece87

相關問題