본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 엑셀

엑셀 VBA를 사용하여 데이터 정렬하는 방법

by 포탈메이커 2023. 6. 23.

엑셀 VBA를 사용하여 데이터 정렬하는 방법

엑셀은 대량의 데이터를 다루는 데에 있어 탁월한 툴이지만, 수작업으로 매번 데이터를 정렬하는 것은 매우 번거로운 일입니다. 이 때 VBA(Visual Basic for Applications)를 이용하면, 코드 하나로 데이터 정렬을 자동화할 수 있습니다.

이번에는 VBA를 사용하여 엑셀에서 데이터를 쉽게 정렬하는 방법을 알아보겠습니다.

1. 데이터 정렬을 위한 코드 작성

먼저, VBA Editor를 열고 새로운 모듈을 삽입합니다. 다음으로 아래의 코드를 입력합니다.

Sub sortData()
    Dim last_row As Long
    
    last_row = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    
    Range("A2:C" & last_row).Sort Key1:=Range("B2:B" & last_row), _
        Order1:=xlAscending, Header:=xlNo, OrderCustom:=1, _
        MatchCase:=False, Orientation:=xlTopToBottom
End Sub

위 코드는 A열부터 C열까지의 데이터를 정렬하며, B열의 데이터를 기준으로 오름차순으로 정렬합니다.


2. 코드 실행

이제 작성한 코드를 실행시켜 데이터를 정렬해봅시다. 우선 데이터가 있는 시트를 선택합니다. 그리고 아까 작성한 sortData 매크로를 실행합니다. 데이터가 정렬된 결과를 확인할 수 있습니다.


3. 코드 설명

위 코드에서 사용된 Range 함수는 범위를 지정하는 함수입니다.

last_row 변수는 데이터가 있는 마지막 행의 위치를 찾기 위한 변수입니다.

Range("A2:C" & last_row)는 A열부터 C열까지의 범위를 지정합니다.

 

Sort 함수는 데이터 정렬을 위한 함수입니다. Key1 인수는 데이터 정렬의 기준이 되는 열을 지정합니다.

Order1 인수는 정렬 방법을 지정합니다.

Header 인수는 데이터에 열 제목이 포함되어 있는지 여부를 지정합니다.

OrderCustom 인수는 사용자 지정 정렬 목록을 적용할 경우에 사용합니다.

MatchCase 인수는 대소문자 구분 여부를 지정합니다.

Orientation 인수는 데이터 정렬 방향을 지정합니다.


4. 마무리

VBA를 사용하면 엑셀에서 데이터를 자동으로 정렬하는 작업을 쉽게 할 수 있습니다. 코드의 특성상 추가 작업이 필요할 수 있지만, 익숙해진다면 굉장히 유용한 기능이 되어줍니다. 위에서 작성한 예시 코드를 참고해서, 자신이 필요한 기능에 맞게 코드를 작성해보세요.



포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!

행복한 하루 되세요!