2012-11-26 5 views
0

특정 범위의 여러 열을 정렬하려고합니다. 내 시트에는 4 개의 열 (A, B, C, D)과 80 개의 행이 있지만 열 D로 정렬하고 싶습니다. 그러나 2 ~ 20 행 사이의 내림차순 정렬 만하고 싶습니다. 누군가이 코드를 도와 주시겠습니까? 특정 범위의 여러 열 정렬

Sub Macro1() 
Range("A2:D20").Select 
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear 
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("D2:D20") _ 
    , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal 
With ActiveWorkbook.Worksheets("Sheet1").Sort 
    .SetRange Range("A1:D20") 
    .Header = xlYes 
    .MatchCase = False 
    .Orientation = xlTopToBottom 
    .SortMethod = xlPinYin 
    .Apply 
End With 
End Sub 

사전에 감사 : 여기

는 내가 가지고있는 코드입니다.

+0

당신은 Excel에서 사용하는 코드를 볼 수있는 매크로를 기록했다? – SeanC

+0

범위가 매번 바뀔 수 있기 때문에 그럴 수 없습니다. –

+0

이것은 A2 : D20을 선택한 다음 열 D를 내림차순으로 정렬하여 매크로를 기록한 것입니다 : http://pastebin.com/dkaE8HPt. 이것에 어떤 변화가 있습니까? – SeanC

답변

1

방법 단지에 대해 :

Range("A2:D20").Sort key1:=Cells(20, 4), order1:=xlDescending, Header:=xlNo 
+0

도와 주셔서 감사합니다. 이것은 완벽 해! –