Filters object
자동 필터링된 범위의 모든 필터를 나타내는 필터 개체 컬렉션입니다.
AutoFilter 개체의 Filters 속성을 사용하여 Filters 컬렉션을 반환합니다.
Filter 개체를 하나만 반환하려면 Filters(index)를 사용합니다. 여기에서 index는 필터 제목이나 인덱스 번호입니다.
속성
Count property
컬렉션의 개체 수를 나타내는 Long 값을 반환합니다.
Syntax
expression.Count
expression : Filters 개체를 나타내는 변수입니다.
다음 코드는 자동필터가 적용된 범위의 열 개수를 출력합니다.
Function CountAutoFilterColumns(wsName As String) As Integer
Dim ws As Worksheet
Dim filters As filters
Set ws = ThisWorkbook.Sheets(wsName)
If Not ws.AutoFilterMode Then
MsgBox "자동 필터 상태가 아닙니다."
' 0을 반환하고 종료
Exit Function
Else
End If
' 필터 개체 가져오기
Set filters = ws.autofilter.filters
' 필터 개체(열)의 수 확인 및 반환
CountAutoFilterColumns = filters.Count
End Function
Sub CheckFilterCount()
Dim filterCount As Integer
' 워크시트 이름으로 함수 호출 (여기서는 "Sales"라는 워크시트)
filterCount = CountAutoFilterColumns("Sales")
If filterCount > 0 Then
MsgBox filterCount & "개의 열에 자동필터가 적용되었습니다."
Else
MsgBox "적용된 자동필터가 없습니다."
End If
End Sub
Item property
컬렉션에서 단일 개체를 반환합니다.
Syntax
expression.Item(Index)
expression : Filters 개체를 나타내는 변수입니다.
다음 코드는 해당 열의 필터링 여부를 판단해서 메시지로 출력합니다.
Function IsFilterApplied(wsName As String, filterColumn As Integer) As Boolean
Dim ws As Worksheet
Dim filters As filters
Dim specificFilter As Filter
Set ws = ThisWorkbook.Sheets(wsName)
If Not ws.AutoFilterMode Then
MsgBox "자동 필터 상태가 아닙니다."
Exit Function ' False를 반환하고 종료합니다.
End If
' Filters 컬렉션 가져오기
Set filters = ws.autofilter.filters
' 특정 열에 해당하는 필터 개체 가져오기
Set specificFilter = filters.Item(filterColumn)
' 해당 열에 필터링 조건이 적용되었는지 확인하고 결과를 반환합니다.
IsFilterApplied = specificFilter.On
End Function
Sub CheckSpecificFilter()
Dim filterColumn As Integer
' 첫 번째 열에 대해 함수 호출 (워크시트 이름은 "Sales")
filterColumn = 1
If IsFilterApplied("Sales", filterColumn) Then
MsgBox filterColumn & " 번째 열에 필터가 적용되었습니다."
Else
MsgBox filterColumn & " 번째 열에 필터가 적용되지 않았습니다."
End If
End Sub
관련 글
'Worksheet object' 카테고리의 다른 글
Worksheet.Visible 속성 (0) | 2024.02.20 |
---|---|
Filter 개체 (0) | 2023.09.11 |
AutoFilter object (0) | 2023.09.08 |
Worksheet.FilterMode 속성 (0) | 2023.09.08 |
Worksheet.AutoFilterMode 속성 (0) | 2023.09.08 |