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

엑셀 VBA로 데이터 필터링 자동화하기

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

엑셀 VBA로 데이터 필터링 자동화하기

엑셀 VBA는 매우 강력한 기능을 제공합니다.

이번 포스트에서는 대용량 데이터들 중에서 필요한 정보만 찾을 수 있도록 데이터 필터링을 자동화하는 방법을 알아보겠습니다.

 

칼퇴키트, 업무용 도구모음

칼퇴를 위해 꼭 필요한 도구 모음을 제공합니다. 당장의 업무에 필요한 순간 사용하는 가벼운 메모장, 계산기, 변환기 등

portalmaker.backtohome.kr

 

1. 필터링

엑셀에서 필터링은 데이터의 일부분만 보이도록 하는 기능입니다. 이 기능을 사용하면 대량의 데이터에서 필요한 정보를 찾을 수 있습니다. 더욱 편리하게 사용하기 위해 필터를 VBA로 자동화해보겠습니다.


2. 필터링 자동화

먼저 엑셀 파일을 하나 만듭니다. 그리고 데이터를 입력합니다. 이 데이터는 매우 큰 양이나, 이번 예제에서는 간단하게 100개의 행과 4개의 열로 이루어진 데이터를 활용합니다.

우선, VBA 코드를 작성하기에 앞서 필터링을 수동으로 적용하는 방법을 알아보겠습니다.

  1. 데이터를 선택하고, "데이터" 탭에서 "필터" 버튼을 클릭합니다.
  2. 필터링을 적용하길 원하는 컬럼 이름을 클릭합니다.
  3. 적용하고자 하는 조건을 설정한 후 "확인" 버튼을 클릭합니다.

이제 이를 VBA 코드로 구현해봅시다.

Sub 자동필터링()
    Dim 데이터범위 As Range
    Dim 필터범위 As Range
    Dim 컬럼명 As String
    Dim 필터값 As String

    Set 데이터범위 = Range("A1:D101") ' 데이터 범위
    컬럼명 = "Country" ' 필터링 할 컬럼 이름
    필터값 = "Korea" ' 필터링 할 조건

    ' 필터 적용
    데이터범위.AutoFilter Field:=데이터범위.Find(What:=컬럼명).Column, Criteria1:=필터값
    Set 필터범위 = 데이터범위.SpecialCells(xlCellTypeVisible)

    ' 필터된 데이터를 새로운 시트에 복사
    필터범위.Copy Destination:=Sheets("필터된데이터").Range("A1")

    ' 필터 해제
    데이터범위.AutoFilter
End Sub

코드를 실행하면 "Country" 컬럼에서 "Korea"라는 조건에 해당하는 데이터만 필터링 되고, 필터링된 데이터는 "FilteredData" 시트에 복사합니다.


3. 마치며

이번 포스트에서는 엑셀 VBA로 데이터 필터링 자동화하는 방법을 알아보았습니다. VBA를 활용하면 데이터의 큰 양을 다룰 때 훨씬 편리하게 데이터 필터링을 할 수 있습니다. 더 다양한 VBA 기능을 학습하여 데이터 자동화에 활용해보면 엑셀에서 데이터 처리가 더욱 효율적일 것입니다.

 



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

행복한 하루 되세요!