VBA에서 여러 기준을 사용하는 자동 필터
AutoFilter
를 사용하여 VBA에서 셀 범위 또는 Excel 테이블을 필터링하는 방법을 소개합니다.
VBA에서 여러 기준을 사용하는 자동 필터
VBA 코드에서 작업하는 동안 Excel에서 필터를 사용해야 하는 상황이 많이 있습니다. 특정 날짜의 판매 데이터를 얻으려면 VBA의 날짜 열에 날짜 필터를 사용해야 합니다.
VBA는 AutoFilter
를 사용하여 이 문제에 대한 솔루션을 제공합니다.
사용자가 데이터를 필터링할 수 있도록 범위에서 자동 필터를 사용하는 방법을 이해하는 것부터 시작하겠습니다. 먼저 아래와 같이 몇 가지 데이터를 가지고 시작하겠습니다.
아래와 같이 시트의 Range
방법을 사용하여 AutoFilter
를 적용할 범위를 선택합니다.
# VBA
Sub test()
Sheet1.Range("A1:C1").AutoFilter
End Sub
출력:
범위의 헤더를 지정해야 하며, 이 경우에는 A1:C1
이고 객체 범위의 AutoFilter
기술을 활용하여 자동 필터를 적용해야 합니다. 그러면 위와 같이 범위에 대한 필터가 활성화됩니다.
VBA의 필드 및 기준이 있는 자동 필터
VBA를 사용하면 특정 값으로 특정 필드를 필터링할 수도 있습니다. 이를 달성하려면 필터를 적용할 필드를 정의해야 합니다.
또한 필터를 적용할 기준을 정의합니다. 노트북
에 대해서만 두 번째 열을 필터링하려면 아래와 같이 코드를 실행할 수 있습니다.
# VBA
Sub test()
Sheet1.Range("A1:C1").AutoFilter Field:=2, Criteria1:="Laptop"
End Sub
출력:
위의 예에서 볼 수 있듯이 필드와 기준의 값을 정의하여 원하는 값으로 AutoFilter
를 사용할 수 있었습니다. 결과는 VBA 코드에서 제공한 기준을 사용하는 필터와 함께 위에 표시됩니다.
VBA에서 여러 기준을 사용하는 자동 필터
필터에 대해 여러 기준을 설정하려고 한다고 가정합니다. 이 경우 하나의 필드를 여러 값으로 필터링해야 할 때 AutoFilter
에서 다른 매개변수 연산자를 사용하여 이를 수행할 수 있습니다.
아래와 같이 xlFilterValues
연산자를 사용하고 배열의 Criteria
매개변수에 값을 전달하여 이러한 값을 기반으로 필터링할 수 있습니다.
# VBA
Sub test()
Sheet1.Range("A1:C1").AutoFilter Field:=2, Criteria1:=Array("Laptop", "iPhone"), _
Operator:=xlFilterValues
End Sub
출력:
위의 예에서 볼 수 있듯이 코드를 실행하면 AutoFilter
가 여러 값으로 활성화되어 원하는 결과를 표시합니다.
VBA에서 여러 기준으로 날짜 범위 자동 필터링
날짜 범위를 기반으로 AutoFilter
를 사용하거나 특정 날짜 범위 사이의 데이터를 가져오려는 경우 xlAnd
연산자와 함께 여러 Criteria
매개변수를 사용해야 합니다.
예제를 살펴보고 아래 날짜와 함께 샘플 시트에 더 많은 데이터를 추가해 보겠습니다.
위의 데이터에서 볼 수 있듯이 날짜가 있는 새 열을 추가했습니다. 아래와 같이 이 날짜를 사용하여 5월 20일과 25일 사이의 데이터를 필터링합니다.
#VBA
Sub test()
Sheet1.Range("A1:D1").AutoFilter Field:=1, Criteria1:=">=05/20/2022", Operator:=xlAnd, Criteria2:="<=05/25/2022", Operator:=xlFilterValues
End Sub
출력:
위의 예에서 볼 수 있듯이 두 가지 날짜 기준을 제공하고 Operator
매개변수를 xlAnd
값과 함께 사용하여 날짜 범위의 데이터를 쉽게 필터링할 수 있습니다.
일부 Operator
매개변수 및 해당 설명은 아래에 설명되어 있습니다.
xlAnd
연산자는Criteria1
및Criteria2
와 같은 여러 기준으로 필터링할 수 있습니다.xlOr
연산자는 하나의 기준 또는 다른 기준으로 필터링할 수 있습니다.xlTop10Items
연산자는 기준에서 가장 높은 순위 값의 특정 수를 필터링하는 데 도움이 됩니다.xlBottom10Items
연산자는 기준에서 가장 낮은 순위 값의 특정 수를 필터링하는 데 도움이 됩니다.xlTop10Percent
연산자는 기준에서 가장 높은 순위 값의 특정 백분율을 필터링하는 데 도움이 됩니다.xlBottom10Percent
연산자는 기준에서 가장 낮은 순위 값의 특정 백분율을 필터링하는 데 도움이 됩니다.xlFilterValues
연산자는 여러 값으로 기준을 필터링하는 데 도움이 됩니다.xlFilterCellColor
연산자는 셀 색상을 기반으로 기준을 필터링하는 데 도움이 됩니다.xlFilterFontColor
연산자는 글꼴 색상을 기반으로 기준을 필터링하는 데 도움이 됩니다.xlFIlterIcon
연산자는 글꼴 아이콘을 기반으로 기준을 필터링하는 데 도움이 됩니다.xlFilterDynamic
연산자는 동적 값을 필터링하는 데 도움이 됩니다.