Excel의 자동 필터 이 기능은 특정 조건을 기반으로 데이터를 추출하는 데 정말 효율적입니다. 그러나 때때로 기술적인 문제로 인해 자동 필터 숨겨지거나 필터가 없어도 Excel에서 필터가 있음을 보여줍니다. 이 경우 자동 필터 Excel 워크시트에 대해 활성화되어 있는지 여부. VBA 구현 Excel에서 모든 작업을 실행하는 가장 효과적이고 빠르고 안전한 방법입니다. 이 도움말에서는 자동 필터가 켜져 있는지 확인하는 쉽고 빠른 4가지 방법을 보여줍니다. VBA 매크로를 사용하여 Excel에서 .
통합 문서 다운로드
여기에서 무료 연습 Excel 워크북을 다운로드할 수 있습니다.
VBA를 사용하여 Excel에서 자동 필터가 켜져 있는지 확인하는 4가지 빠른 방법
이 섹션에서는 자동 필터가 켜져 있는지 확인하는 방법을 배웁니다. Excel에서 VBA 4가지 방법으로.
위는 예제 데이터세트입니다. 이 문서에서 절차를 설명하기 위해 따를 것입니다.
1. Excel 워크시트에서 자동 필터가 켜져 있는지 또는 꺼져 있는지 확인하기 위해 VBA 포함
이 섹션에서는 Excel 워크시트에 대해 자동 필터가 켜져 있는지 확인하는 방법을 배웁니다. VBA 사용 . 실행 단계는 아래와 같습니다.
단계:
- 처음에 Alt + F11 키를 누릅니다. 키보드에서 또는 개발자 -> Visual Basic 탭으로 이동합니다. Visual Basic Editor 열기 .
- 다음으로 팝업 코드 창의 메뉴 표시줄에서 삽입 -> 모듈을 클릭합니다. .
- 그런 다음 복사 다음 코드 및 붙여넣기 코드 창에 넣습니다.
Sub AutoFilterCheck()
If ActiveSheet.AutoFilterMode = True Then
MsgBox "Auto Filter is turned on"
Else
MsgBox "Auto Filter is turned off"
End If
End Sub
이제 코드를 실행할 준비가 되었습니다.
- 이제 F5 키를 누릅니다. 키보드 또는 메뉴 모음에서 실행 -> 하위/UserForm 실행을 선택합니다. . 작은 실행 아이콘을 클릭할 수도 있습니다. 하위 메뉴 표시줄에서 매크로를 실행합니다.
코드 실행 성공 후 다음 이미지를 통해 결과를 확인해 보세요.
자, 위의 이미지를 보자. 데이터세트에 필터 화살표가 없더라도 Excel MsgBox 이 시트에서 자동 필터가 켜져 있음이 표시됩니다. .
VBA 구현 작업에 대한 불확실성이 있는 이러한 종류의 시나리오에 정말 편리합니다. VBA 매크로를 사용하면 눈으로 볼 수 없는 경우에도 올바른 결과를 추출할 수 있습니다.
VBA 코드 설명
If ActiveSheet.AutoFilterMode = True Then
MsgBox "Auto Filter is turned on"
Else
MsgBox "Auto Filter is turned off"
End If
이 코드는 활성 시트에 대해 자동 필터 모드가 true인 경우를 나타냅니다. , "자동 필터가 켜져 있음을 반환합니다. Excel MsgBox의 ” 메시지; 그렇지 않으면 , "자동 필터가 꺼져 있습니다 "라는 메시지가 표시됩니다.
자세히 알아보기: Excel VBA:자동 필터가 있는 경우 제거(7가지 방법)
2. VBA 코드 디버그 및 활성 시트의 총 자동 필터 수 가져오기
이 섹션에서는 코드를 디버그하고 자동 필터 수를 계산하는 방법을 보여줍니다. 엑셀 시트에 있습니다. 코드를 실행하면 직접 실행 창에 결과가 표시됩니다. Excel VBA .
이를 얻기 위한 단계는 아래에 나와 있습니다.
단계:
- 이전과 같은 방식으로 Visual Basic Editor를 엽니다. 개발자 탭 및 삽입 모듈 코드 창에서
- 그런 다음 복사 다음 코드 및 붙여넣기 코드 창에 넣습니다.
Sub CountAutoFilters()
Dim iCount As Long
If ActiveSheet.AutoFilterMode = True Then iCount = 1
Debug.Print "AutoFilterMode Count: " & iCount
End Sub
이제 코드를 실행할 준비가 되었습니다.
- 그 후 실행 위 섹션에서 보여드린 매크로입니다. 결과는 아래 이미지와 같습니다.
위 이미지에서 볼 수 있듯이 직접 실행 창에서 활성화된 자동 필터의 총 수가 표시됩니다. 워크시트에 있습니다.
VBA 코드 설명
Dim iCount As Long
선언 변수 .
If ActiveSheet.AutoFilterMode = True Then iCount = 1
Debug.Print "AutoFilterMode Count: " & iCount
코드의 이 두 줄은 활성 시트에 대해 자동 필터 모드가 true인 경우 , 그런 다음 계산을 시작하고 총 카운트를 인쇄합니다. .
자세히 알아보기: VBA에서 Excel의 동일한 필드에 대해 여러 기준으로 자동 필터링(4가지 방법)
3. VBA를 적용하여 Excel에서 특정 열이 필터링되었는지 여부 확인
특정 열이 Excel 스프레드시트의 필터링 여부 VBA 사용 .
그 방법에 대한 단계를 살펴보겠습니다.
단계:
- 이전에 표시된 대로 Visual Basic Editor를 엽니다. 개발자 탭 및 삽입 모듈 코드 창에서
- 그런 다음 복사 다음 코드 및 붙여넣기 코드 창에 넣습니다.
Sub CheckColumnFilter()
Dim iSheet As Worksheet
Set iSheet = ActiveSheet
If iSheet.AutoFilter.Filters(2).On Then
MsgBox "Column B is filtered."
Else
MsgBox "Column B is not filtered."
End If
End Sub
이제 코드를 실행할 준비가 되었습니다.
- 나중에 실행 매크로를 실행하고 다음 이미지를 보고 출력을 확인하세요.
이제 위의 이미지를 고려하십시오. 열 B에 필터 화살표가 있는 것을 볼 수 있지만 , 매크로는 없다는 것을 알려줍니다. 따라서 성공적인 코드 실행 후에는 열 B가 자동 필터링되지 않음이라고 말할 수 있습니다. .
VBA 코드 설명
Dim iSheet As Worksheet
선언 변수 워크시트용 .
Set iSheet = ActiveSheet
활성 시트 저장 선언된 변수에서.
If iSheet.AutoFilter.Filters(2).On Then
MsgBox "Column B is filtered."
Else
MsgBox "Column B is not filtered."
End If
이 코드는 2열 또는 B열에 대한 자동 필터가 활성 시트에 대해 true인 경우를 나타냅니다. , 그런 다음 "B열이 필터링되었습니다.를 반환합니다. Excel MsgBox의 ” 메시지; 그렇지 않으면 , "B열은 필터링되지 않았습니다. "라는 메시지가 표시됩니다.
자세히 알아보기: Excel에서 VBA를 사용하여 특정 값과 같지 않은 값을 자동 필터링하는 방법
4. Excel 통합 문서에서 활성화된 자동 필터를 확인하는 VBA 매크로
이 섹션에서는 특정 Excel 통합 문서의 시트에 대해 자동 필터 활성화 또는 비활성화를 확인하는 방법을 배웁니다. .
실행 단계는 아래와 같습니다.
단계:
- 먼저 Visual Basic Editor를 엽니다. 개발자 탭 및 삽입 모듈 코드 창에서
- 그런 다음 복사 다음 코드 및 붙여넣기 코드 창에 넣습니다.
Sub CheckAutofilterSheet()
Dim z As Double
For z = 1 To ThisWorkbook.Sheets.Count
If ThisWorkbook.Sheets(z).AutoFilterMode Then
MsgBox ThisWorkbook.Sheets(z).Name & " has enabled Autofilter"
End If
Next
End Sub
이제 코드를 실행할 준비가 되었습니다.
- 다음으로 실행 매크로. 이제 다음 이미지를 보고 결과를 확인하세요.
위 이미지에서 볼 수 있듯이 통합 문서에는 "Dataset ". Excel의 MsgBox '데이터세트' 시트에 자동 필터가 설정되어 있음이 표시됩니다. . 특정 Excel 통합 문서의 모든 스프레드시트에 대해 이 코드를 수행할 수 있습니다.
VBA 코드 설명
Dim z As Double
선언 변수 .
For z = 1 To ThisWorkbook.Sheets.Count
반복 시작 첫 번째 시트에서 총 시트 수까지 기존 통합 문서의.
If ThisWorkbook.Sheets(z).AutoFilterMode Then
MsgBox ThisWorkbook.Sheets(z).Name & " has enabled Autofilter"
End If
Next
첫 번째 시트에 자동 필터 모드가 켜져 있는 경우 , 그런 다음 MsgBox에 메시지를 던집니다. . 그 후 코드는 조건을 종료합니다. 다음 시트로 이동 반복을 수행합니다. 모든 시트 수에 도달할 때까지 이 작업을 계속합니다. 현재 통합 문서의.
자세히 알아보기: Excel VBA로 보이는 행을 자동 필터링하고 복사하는 방법
결론
결론적으로 이 문서에서는 자동 필터가 켜져 있는지 확인하는 쉽고 빠른 4가지 방법을 보여주었습니다. VBA 매크로를 사용하여 Excel에서 . 이 글이 당신에게 많은 도움이 되었기를 바랍니다. 주제와 관련하여 언제든지 질문하십시오.
관련 기사
- [수정]:범위 클래스의 자동 필터 방법 실패(5개 솔루션)
- VBA 자동 필터:작은 것부터 큰 것 순으로 정렬(3가지 방법)