0

N 列に発生する日付でデータを各行に並べ替えようとしています。現在、他の情報を変更することなく、 istelf によって n 列のみをソートしています。 行内の 1 つのセルだけではなく、行全体が移動するようにコードを書き直すにはどうすればよいですか?

 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

マクロを記録するだけの簡単さを忘れることがあります。

4

1 に答える 1

1
  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
于 2012-12-20T19:18:04.867 に答える