VBA – 자동 필터 끄기/필터 지우기

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 4월 28, 2023

이 튜토리얼에서는 VBA에서 자동 필터를 끄거나 해제하는 방법을 설명합니다.

자동 필터는 VBA 코드를 사용하여 켜거나 끌 수 있습니다.

VBA의 활성 워크시트에서 자동 필터 끄기

다음 코드 예제는 활성 시트에서 자동 필터가 이미 해제되어 있는지 확인한 후, 자동필터가 활성화되어있을 경우 자동 필터를 해제합니다.

Public Sub KillFilter()
  If ActiveSheet.AutoFilterMode Then
     ActiveSheet.AutoFilterMode = False
  End If
End Sub

VBA의 활성 워크시트에서 자동 필터 켜기

다음 코드 예제에서는 먼저 활성 시트에서 자동 필터가 설정되어 있지 않은지 확인하고 설정되어있지 않을 경우 자동 필터를 설정합니다.

Public Sub StartFilter()
  If Not ActiveSheet.AutoFilterMode Then
     ActiveSheet.Range("A1").AutoFilter
  End If
End Sub

VBA의 모든 워크시트에서 자동 필터 해제하기

다음 코드 예제는 전체 통합 문서의 각 시트를 반복하여 현재 워크시트의 필터가 이미 설정되어 있지 않은지 먼저 확인하여 자동필터가 활성화 되어있을 경우 각 워크시트에서 자동 필터를 해제합니다.

Public Sub StopAllFilters()
  Dim ws As Worksheet
  For Each ws In ActiveWorkbook.Worksheets
    If ws.AutoFilterMode = True Then
      ws.AutoFilterMode = False
    End If
  Next ws
End Sub

VBA의 모든 워크시트에서 자동 필터를 설정하기

비슷한 방법으로 다음 코드 예제에서는 전체 통합 문서를 반복하여 현재 워크시트의 필터가 켜져 있지 않은지 확인하고 비활성화되어있을 경우 각 시트에서 자동 필터를 설정합니다.

Public Sub StartAllFilters()
  Dim ws As Worksheet
  For Each ws In ActiveWorkbook.Worksheets
    If Not ws.AutoFilterMode Then
      ws.Range("A1").AutoFilter
    End If
  Next ws
End Sub

VBA에서 활성 워크시트의 모든 필터 지우기

다음 코드 예제는 활성 시트에서 자동 필터를 설정한 상태로 유지하면서 데이터에 적용된 모든 필터를 지웁니다.

Public Sub ClearFilter()
  If ActiveSheet.FilterMode = True Then
    ActiveSheet.ShowAllData
  End If
End Sub

VBA의 모든 워크시트에서 모든 필터 지우기

마찬가지로, 다음 코드 예제는 전체 통합 문서의 각 시트를 반복하여 자동 필터가 설정되어 있는 경우 자동 필터를 설정한 상태로 유지하면서 데이터에 적용된 모든 필터를 지웁니다.

Public Sub ClearAllFilters()
  Dim ws As Worksheet
  For Each ws In ActiveWorkbook.Worksheets
    If ws.FilterMode = True Then
      ws.ShowAllData
    End If
  Next ws
End Sub

VBA에서 테이블의 모든 필터 지우기

워크시트에 테이블 개체가 포함된 경우 자동 필터를 켠 채로 해당 필터에 적용된 모든 필터만 지우도록 코드를 조정할 수 있습니다.

Sub ClearFilterFromTable()
  Dim ws As Worksheet
  Dim sTable As String
  Dim loTable As ListObject
  sTable = "Table1"
  Set ws = ActiveSheet
  Set loTable = ws.ListObjects(sTable)
  loTable.AutoFilter.ShowAllData
End Sub

테이블 개체가 피벗 테이블에 연결되어 변경될 경우 피벗 테이블의 데이터도 새로 고침처리 됩니다.

간편한 VBA 코딩

온라인에서 VBA 코드를 더 이상 검색하지 않아도 됩니다. 초보자도 최소한의 코딩 지식으로 프로시저를 처음부터 코딩할 수 있습니다. 시간 절약이 가능하고 모든 사용자를 위한 VBA 코드 작성기인 AutoMacro에 대해 자세히 알아보세요!

alt text

 

자세히 알아보기!

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기