엑셀/엑셀 VBA

엑셀 VBA Sort 정렬하기(오름차순, 내림차순)

90년대생 직장인 2022. 12. 6. 22:43
반응형

엑셀 VBA로 자료 정리시 유용한 Sort 기능을 간략히 소개합니다.

테이블로 정리된 자료를 정리시 Sort 코드를 활용하면 엑셀 기능의 다중 조건 정렬을 쉽게 구현할 수 있습니다.

 

 


<본문 이동 링크>


1. 코드 기본 설명

 - 정렬 Sort 코드는 아래와 같은 구성으로 작성합니다.

 - 정렬범위 : 실제 정렬이 필요한 표 범위를 설정합니다

   (중요!) 이때 열제목 헤더는 포함하지 않아야 열제목은 그대로 위치합니다.

 - 정렬기준(key) : 2개 이상의 열에서 특정 열의 셀을 지정합니다.

 - 정렬방식(order) : 오름차순 / 내림차순을 결정합니다.(xlAscending/xlDescending)

반응형

2. 조건 1개 정렬_오름차순

▶ 아래 정렬 대상 테이블에서 B열의 "숫자"부분만 오름차순으로 정렬해보겠습니다.

예제 테이블

▶ B열의 2번째 행부터 작성된 숫자를 오름차순 정렬하는 코드

  이미 정렬 범위를 "A2:B10"으로 지정해두었기 때문에 Key1을 A2셀이 아닌 정렬 범위 내 A열 셀 아무거나 선택해도 결과값은 동일함

Sub 조건1_오름차순정렬()

    Range("A2:B10").Sort key1:=Range("B2"), order1:=xlAscending

End Sub

▶ 코드 실행결과 : B열이 오름차순으로 정렬됨

B열 오름차순 결과

 

3. 조건 1개 정렬_내림차순

▶ 아래 정렬 대상 테이블에서 A열의 "영어"부분만 내림차순으로 정렬해보겠습니다.

예제 테이블

▶ A열의 2번째 행부터 작성된 숫자를 오름차순 정렬하는 코드

Sub 조건1_내림차순정렬()

    Range("A2:B10").Sort key1:=Range("A2"), order1:=xlDescending

End Sub

▶ 코드 실행결과 : A열이 내림차순으로 정렬됨

 

A열 내림차순 결과

728x90

4. 다중조건 정렬_오름차순 + 내림차순

▶ 아래 정렬 대상 테이블에서 A열은 오름차순, B열은 내림차순으로 정렬해보겠습니다.

다중조건 정렬시, 정렬기준을 우선시하는 열부터 Key1, Key2순으로 지정합니다.

예제 테이블

▶ A열 2번째 행부터는 오름차순, B열 2번째 행부터는 내림차순 정렬하는 코드

Sub 조건1_내림차순정렬()

    Range("A2:B10").Sort key1:=Range("A2"), order1:=xlAscending, key2:=Range("B2"), order2:=xlDescending
    
End Sub

▶ 코드 실행결과 

다중정렬 결과

반응형