엑셀 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열이 오름차순으로 정렬됨
3. 조건 1개 정렬_내림차순
▶ 아래 정렬 대상 테이블에서 A열의 "영어"부분만 내림차순으로 정렬해보겠습니다.
▶ A열의 2번째 행부터 작성된 숫자를 오름차순 정렬하는 코드
Sub 조건1_내림차순정렬()
Range("A2:B10").Sort key1:=Range("A2"), order1:=xlDescending
End Sub
▶ 코드 실행결과 : A열이 내림차순으로 정렬됨
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
▶ 코드 실행결과
'엑셀 > 엑셀 VBA' 카테고리의 다른 글
엑셀 VBA 다중범위(다중셀) 선택하는 방법 (0) | 2023.01.17 |
---|---|
엑셀 VBA 셀 선택하는 3가지 방법 (0) | 2023.01.17 |
엑셀 VBA SAP 접근 코드 (0) | 2022.12.06 |
엑셀 VBA 복사 및 붙여넣기 기본편(Copy, Paste, PasteSpecial) (0) | 2022.11.30 |
[엑셀 VBA] 글자/배경 색상 변경하는 방법 5가지 (0) | 2022.11.20 |