2016-08-02 18 views
-1

列AからSまでのデータを含むすべての行を、昇順で合計5580行に並べ替えたいと思います。前進すると、行数が増えます。Excel VBA複数行の並べ替え

最初の2行のソートアクションを記録しようとしました。次に、コードを1行目から39行目までソートしようとしましたが、失敗しました。このような

Sub Macro4() 

Macro4 Macro 

Rows("13:39").Select 

ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Clear 

ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Add Key:=Range(_ 
    "A13:S39"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ 
    xlSortNormal 

With ActiveWorkbook.Worksheets("Sheet1 (2)").Sort 
    .SetRange Range("A13:S" & Range("A" & Rows.Count).End(xlUp).Row) 
    .Header = xlGuess 
    .MatchCase = False 
    .Orientation = xlLeftToRight 
    .SortMethod = xlPinYin 
    .Apply 

End With 

Rows("14:14").Select 
ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Clear 
ActiveWorkbook.Worksheets("Sheet1 (2)").Sort.SortFields.Add Key:=Range(_ 
    "A14:S14"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ 
    xlSortNormal 
With ActiveWorkbook.Worksheets("Sheet1 (2)").Sort 
    .SetRange Range("A14:S14") 
    .Header = xlGuess 
    .MatchCase = False 
    .Orientation = xlLeftToRight 
    .SortMethod = xlPinYin 
    .Apply 
    End With 
End Sub 

答えて

0

何かが、私は

For Each rw In Range("a1:E3").Rows 

    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear 
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range(rw.Address), _ 
     SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 
    With ActiveWorkbook.Worksheets("Sheet1").Sort 
     .SetRange Range(rw.Address) 
     .Header = xlGuess 
     .MatchCase = False 
     .Orientation = xlLeftToRight 
     .SortMethod = xlPinYin 
     .Apply 
    End With 

Next rw 
+0

おかげネイサンを考える進むべき道だろうが、それは動作しません...私は「rw.Address」のようなものを修正する必要がありますか? – Yennie

+0

どのようなコードを試しましたか? –