vba [vba] Sort(내림차순, 오름차순) 기본 코드 (VBA 매크로)
페이지 정보

본문
(사용자에게 정보를 주기위해 Macro는 다양한 옵션 또는 인수(argument)들을 저장한다. 하지만 특정 기능은 Macro기록중 일부만 사용해도 그 기능을 충족한다.)
 
          
     
Sort 이전                              오른차순 Sort 이후
 
자동저장으로 정렬(Sort)을 할 경우 긴 식이 저장됨. 하지만 기본 기능은 다음 한 줄이면 된다.
Sub OneColumnSort()
[A2:D18].Sort Key1:=Range("A2"), Order1:=xlAscending
'[A2:D18].Sort [A2], 1 '오름차순
'[A2:D18].Sort [A2], 2 '내림차순
    'ActiveSheet.Sort.Orientation = xlLeftToRight  '좌에서 우(즉 행방향)로 정렬할 경우 사용
End Sub
 
2개 이상의 열을 정렬할 때 아래 참조.
    With Range("A1").CurrentRegion
        .Sort key1:=.Cells(1, 1), key2:=.Cells(1, 2), key3:=.Cells(1, 3), Header:=xlYes
    End With
또는
    With Range("A1").CurrentRegion
        .Sort key1:=.Cells(1, 1), order1:=1, _
               key2:=.Cells(1, 2), order2:=0, _
               key3:=.Cells(1, 3), order3:=1, _
               Header:=xlYes
    End With
 
또는
With ActiveSheet.Sort
        .SortFields.Clear
 
        .SortFields.Add Key:=[A2], Order:=1  'A열 기준 정렬
        .SortFields.Add Key:=[B2], Order:=1  'B열 기준 정렬
        .SetRange ActiveSheet.UsedRange   '정렬할 영역 지정
        .Header = xlYes                              '머릿말 있음
        .Apply                                            '정렬 실행
    End With
출처 ::: http://blog.naver.com/rosa0189/60132769488
 
 
매크로 실행 전...
 
 
매크로 실행 후...
왼쪽에서 오른쪽으로 오름차순 정렬
            With ActiveSheet.Sort
                .SortFields.Clear
                .SortFields.Add Key:=[I29].Offset(n, 1).Resize(, 99)  '// , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
                .SetRange [I29].Offset(n, 1).Resize(, 99)
'                    .Header = xlGuess
'                    .MatchCase = False
                .Orientation = xlLeftToRight
'                    .SortMethod = xlPinYin
                .Apply
            End With
- 이전글[vba] PowerPoint 슬라이드 복사후 복사한 슬라이드에 이미지 삽입하기 20.07.23
- 다음글[vba] 오름차순 정렬 예제/[B4].SpecialCells(5).Offset(1).Sort [B5], 1 20.05.02
댓글목록
등록된 댓글이 없습니다.





