Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vba列中按日期对行进行排序_Vba_Date_Sorting_Excel_Autofilter - Fatal编程技术网

在vba列中按日期对行进行排序

在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

我试图让我的数据按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("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