如何自动排序用户表单条目
How to Autosort a Userform Entry
我有一个关于如何在通过用户表单提交到 table 时自动对信息进行排序的问题。
我尝试了以下代码,但出现错误。因为我是 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 图片
用户窗体图片
用户窗体本身工作得很好。我想在日期列中按降序排序。
- 限定您想要使用的确切 sheet 和范围。
- 每次都清除排序并重新应用排序。
- 在设置排序范围之前获取最后使用的数据范围。 (您设置
LR
的方式将始终是第一行。)
像这样:
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
我有一个关于如何在通过用户表单提交到 table 时自动对信息进行排序的问题。
我尝试了以下代码,但出现错误。因为我是 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 图片
用户窗体图片
用户窗体本身工作得很好。我想在日期列中按降序排序。
- 限定您想要使用的确切 sheet 和范围。
- 每次都清除排序并重新应用排序。
- 在设置排序范围之前获取最后使用的数据范围。 (您设置
LR
的方式将始终是第一行。)
像这样:
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