아별님 첨부의 자료에서 열만 중간에 몇개 추가 된 것을 가지고 조금 수정해서 해봤더니 "오류">>디버그 눌러보니
'### 3번째 이후 조건으로 먼저 정렬한 다음.. rngTarget.Sort _ Key1:=rngOrder4, Order1:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal 이 부분이 노랑색 음영으로 표시가 됩니다. 고민끝에 도움 요청 드립니다. 제가 수정한 내용은 다음과 같습니다.
수정부분은 dim 변수 선언부분 끝에 셀번호와 열이 좀더 길게 수정했습니다.
'### 3가지 조건 이상 정렬하기.. by abyul.com @ 2011-07-21 11:04:00 PM Sub sortOver3key()
Dim WS As Worksheet: Set WS = ActiveSheet Dim rngTarget As Range: Set rngTarget = Range("A:g") Dim rngOrder1 As Range: Set rngOrder1 = Range("d4") Dim rngOrder2 As Range: Set rngOrder2 = Range("g4") Dim rngOrder3 As Range: Set rngOrder3 = Range("b4") Dim rngOrder4 As Range: Set rngOrder4 = Range("F4")
'### 3번째 이후 조건으로 먼저 정렬한 다음.. rngTarget.Sort _ Key1:=rngOrder4, Order1:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal '### 1,2,3번 조건으로 정렬하면 됩니다. rngTarget.Sort _ Key1:=rngOrder1, Order1:=xlAscending, _ Key2:=rngOrder2, Order2:=xlAscending, _ Key3:=rngOrder3, Order3:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
End Sub
rngTarget.Sort _
Key1:=rngOrder4, Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
이 부분이 노랑색 음영으로 표시가 됩니다. 고민끝에 도움 요청 드립니다. 제가 수정한 내용은 다음과 같습니다. 수정부분은 dim 변수 선언부분 끝에 셀번호와 열이 좀더 길게 수정했습니다. '### 3가지 조건 이상 정렬하기.. by abyul.com @ 2011-07-21 11:04:00 PM
Sub sortOver3key() Dim WS As Worksheet: Set WS = ActiveSheet
Dim rngTarget As Range: Set rngTarget = Range("A:g")
Dim rngOrder1 As Range: Set rngOrder1 = Range("d4")
Dim rngOrder2 As Range: Set rngOrder2 = Range("g4")
Dim rngOrder3 As Range: Set rngOrder3 = Range("b4")
Dim rngOrder4 As Range: Set rngOrder4 = Range("F4") '### 3번째 이후 조건으로 먼저 정렬한 다음..
rngTarget.Sort _
Key1:=rngOrder4, Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'### 1,2,3번 조건으로 정렬하면 됩니다.
rngTarget.Sort _
Key1:=rngOrder1, Order1:=xlAscending, _
Key2:=rngOrder2, Order2:=xlAscending, _
Key3:=rngOrder3, Order3:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal End Sub