2016-08-02 18 views
-1

나는 열 A에서 S까지의 데이터가있는 모든 행을 오름차순으로 총 5580 행으로 정렬하려고합니다. 앞으로 이동하면 행 수가 증가합니다.Excel VBA 여러 행 정렬

첫 번째 2 행에 대한 정렬 작업을 기록하려고했습니다. 그런 다음 코드를 병합하여 첫 번째 행에서 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

어떤 코드를 시도하셨습니까? –