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

VBA를 활용한 엑셀 데이터 자동 필터링 방법

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

VBA를 활용한 엑셀 데이터 자동 필터링 방법

엑셀에서 데이터를 필터링하고 정리하는 작업은 매우 중요한 작업 중 하나입니다. 이를 수동으로 수행하는 것은 매우 번거롭고 시간이 많이 소요되는 작업입니다. 그러나 VBA를 사용하면 이러한 작업을 자동화할 수 있습니다.



이번 포스팅에서는 VBA를 사용하여 엑셀 데이터를 자동 필터링하는 방법에 대해 알아보겠습니다.

1. 데이터 필터링 준비

데이터를 필터링하려면 먼저 데이터베이스에서 필터에 사용할 값이 포함된 열을 식별해야 합니다. 예를 들어 사원 정보가 포함된 엑셀 시트에 대해 "부서" 열을 기준으로 데이터를 필터링하려는 경우, "부서" 열의 이름을 식별하여 해당 열의 데이터를 처리할 수 있어야 합니다.

다음은 데이터 필터링을 준비하는 방법입니다.

  1. 필터링할 엑셀 파일을 엽니다.
  2. 필터를 적용할 데이터가 들어있는 시트를 선택합니다.
  3. 열 헤더를 클릭하여 정렬 및 필터링 조건을 지정합니다.

이제 필터링할 열과 조건이 모두 정의되었으므로 VBA 코드로 필터링 작업을 자동화할 수 있습니다.


2. VBA 코드 작성

먼저 VBA 개발 환경에서 다음과 같은 코드를 입력합니다.

Sub filter_data() ' '부서' 열을 기준으로 데이터 필터링.

    Dim lastrow As Long

    ' 데이터 범위 선택.
    Range("A1").CurrentRegion.Select

    ' 데이터의 마지막 행 식별.
    lastrow = Selection.Rows.Count

    ' 필터 적용.
    ActiveSheet.Range("$A$1:$D$" & lastrow).AutoFilter Field:=1, Criteria1:=Range("E1").Value

End Sub

위 코드에서는 "부서" 열을 기준으로 필터링 작업을 수행합니다.

 

필터 수준(case)을 조정하려면 다음과 같은 코드를 사용합니다.

' 'Software Development'에 따라 필터 적용
ActiveSheet.Range("$A$1:$D$" & lastrow).AutoFilter Field:=1, Criteria1:="Software Development", Operator:=xlFilterValues

 

위 코드에서는 "부서" 열의 모든 값 중 "Software Development" 인 항목만 필터링합니다.


3. 코드 실행

위에서 작성한 코드를 실행하려면 다음과 같은 단계를 수행합니다.

  1. 시트에서 VBA 개발 환경으로 이동합니다.
  2. 코드를 입력하고 저장합니다.
  3. F5 키를 누르거나 "실행" 단추를 클릭하여 코드를 실행합니다.

이제 위에서 지정한 필터 수준에 따라 자동 필터링이 적용됩니다.


4. 마치며

VBA를 사용하여 엑셀 데이터를 필터링하는 것은 매우 쉽습니다. 이를 수행하는 방법을 알면 시간과 노력이 절감되어 더 많은 프로젝트를 수행할 수 있습니다. 이번 포스팅에서는 VBA를 사용하여 엑셀 데이터를 자동 필터링하는 방법에 대해 알아보았습니다.



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

행복한 하루 되세요!