在vba列中按日期对行进行排序
我试图让我的数据按N列中出现的日期对每一行进行排序。现在它只按istelf对n列进行排序,而不改变任何其他信息如何重新编写代码,使整行移动,而不是仅移动该行中的单个单元格?在vba列中按日期对行进行排序,vba,date,sorting,excel,autofilter,Vba,Date,Sorting,Excel,Autofilter,我试图让我的数据按N列中出现的日期对每一行进行排序。现在它只按istelf对n列进行排序,而不改变任何其他信息如何重新编写代码,使整行移动,而不是仅移动该行中的单个单元格? Sub SortByDate() Dim rSortRange As Range Dim ws As Worksheet Set ws = Sheets("Copy") Set rSortRange = ws.Range("N11", "N111") rSortRange.Sort Key1:=ws.Range
Sub SortByDate()
Dim rSortRange As Range
Dim ws As Worksheet
Set ws = Sheets("Copy")
Set rSortRange = ws.Range("N11", "N111")
rSortRange.Sort Key1:=ws.Range("N11"), Order1:=xlAscending, _
Key2:=Range("N20"), Order2:=xlAscending, _
Key3:=Range("N29"), Order3:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
End Sub
用下面的宏代码得到它
Sub SortByDate()
Dim rSortRange As Range
Dim ws As Worksheet
Set ws = Sheets("Copy")
Set rSortRange = ws.Range("N11", "N111")
rSortRange.Sort Key1:=ws.Range("N11"), Order1:=xlAscending, _
Key2:=Range("N20"), Order2:=xlAscending, _
Key3:=Range("N29"), Order3:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
End Sub
有时我忘记了录制宏是多么容易 对你来说,展示一张床单太难了吗?您可以获取整个数据范围,然后通过对日期列进行排序对其进行排序。记录一个宏。我可以给你代码,但我想让你先试试;)@David请将您的答案添加为答案。。。
Sub SortByDate()
Dim rSortRange As Range
Dim ws As Worksheet
Set ws = Sheets("Copy")
Set rSortRange = ws.Range("N11", "N111")
rSortRange.Sort Key1:=ws.Range("N11"), Order1:=xlAscending, _
Key2:=Range("N20"), Order2:=xlAscending, _
Key3:=Range("N29"), Order3:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
End Sub