Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

Excel의 자동 필터 이 기능은 특정 조건을 기반으로 데이터를 추출하는 데 정말 효율적입니다. 그러나 때때로 기술적인 문제로 인해 자동 필터 숨겨지거나 필터가 없어도 Excel에서 필터가 있음을 보여줍니다. 이 경우 자동 필터 Excel 워크시트에 대해 활성화되어 있는지 여부. VBA 구현 Excel에서 모든 작업을 실행하는 가장 효과적이고 빠르고 안전한 방법입니다. 이 도움말에서는 자동 필터가 켜져 있는지 확인하는 쉽고 빠른 4가지 방법을 보여줍니다. VBA 매크로를 사용하여 Excel에서 .

통합 문서 다운로드

여기에서 무료 연습 Excel 워크북을 다운로드할 수 있습니다.

VBA를 사용하여 Excel에서 자동 필터가 켜져 있는지 확인하는 4가지 빠른 방법

이 섹션에서는 자동 필터가 켜져 있는지 확인하는 방법을 배웁니다. Excel에서 VBA 4가지 방법으로.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

위는 예제 데이터세트입니다. 이 문서에서 절차를 설명하기 위해 따를 것입니다.

1. Excel 워크시트에서 자동 필터가 켜져 있는지 또는 꺼져 있는지 확인하기 위해 VBA 포함

이 섹션에서는 Excel 워크시트에 대해 자동 필터가 켜져 있는지 확인하는 방법을 배웁니다. VBA 사용 . 실행 단계는 아래와 같습니다.

단계:

  • 처음에 Alt + F11 키를 누릅니다. 키보드에서 또는 개발자 -> Visual Basic 탭으로 이동합니다. Visual Basic Editor 열기 .

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

  • 다음으로 팝업 코드 창의 메뉴 표시줄에서 삽입 -> 모듈을 클릭합니다. .

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

  • 그런 다음 복사 다음 코드 및 붙여넣기 코드 창에 넣습니다.
Sub AutoFilterCheck()
If ActiveSheet.AutoFilterMode = True Then
MsgBox "Auto Filter is turned on"
Else
MsgBox "Auto Filter is turned off"
End If
End Sub

이제 코드를 실행할 준비가 되었습니다.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

  • 이제 F5 키를 누릅니다. 키보드 또는 메뉴 모음에서 실행 -> 하위/UserForm 실행을 선택합니다. . 작은 실행 아이콘을 클릭할 수도 있습니다. 하위 메뉴 표시줄에서 매크로를 실행합니다.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

코드 실행 성공 후 다음 이미지를 통해 결과를 확인해 보세요.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

자, 위의 이미지를 보자. 데이터세트에 필터 화살표가 없더라도 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

이제 코드를 실행할 준비가 되었습니다.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

  • 그 후 실행 위 섹션에서 보여드린 매크로입니다. 결과는 아래 이미지와 같습니다.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

위 이미지에서 볼 수 있듯이 직접 실행 창에서 활성화된 자동 필터의 총 수가 표시됩니다. 워크시트에 있습니다.

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

이제 코드를 실행할 준비가 되었습니다.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

  • 나중에 실행 매크로를 실행하고 다음 이미지를 보고 출력을 확인하세요.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

이제 위의 이미지를 고려하십시오. 열 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

이제 코드를 실행할 준비가 되었습니다.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

  • 다음으로 실행 매크로. 이제 다음 이미지를 보고 결과를 확인하세요.

자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

위 이미지에서 볼 수 있듯이 통합 문서에는 "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가지 방법)