我一直试图通过VBA在excel中自动对行进行排序。这些行从用户表单获取数据,然后在A:AR列的行中输入。我想根据日期在B列中进行排序。但是,当我尝试对此进行编码时,前两列将正确排序,但是所有其他数据都被弄乱了。
例如,我的用户窗体具有以英寸和英尺为单位的高度值,如果我说技术员在19/3/3上输入的最大值为20英尺3英寸,而在19/7/10上john输入的高度为10英尺4英寸,将最近的日期和john移到顶部,但删除最大的20'3“并替换为10'4”,将john的高度留空。
我看过很多关于如何编写此代码的论坛,并尝试过许多不同的论坛,所有这些都有相同的问题。我也尝试过只使用“主页”选项卡上的排序功能,但是在提交新的用户表单时问题仍然存在。
Private Sub Worksheet_Change(ByVal Target As Range)
Range(Range("A5"), Range("AR200")).Sort Key1:=Range("B5"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
我想要的是将每个用户表单中的所有数据(A:AR)根据其日期进行排序。相反,我的其他信息被弄乱了,实际上只有两列被正确排序了。