엑셀 VBA 테이블에도 사용할 수있는 모든 시트의 자동 필터를 클리어

프로그램을 구성한 목적



책을 닫을 때 자동 필터를 해제하도록 매크로를 짜서 다음에 사용하는 사람이 사용하기 쉽게하기 위한 매크로입니다.

테이블 기능을 사용해도 클리어를 할 수 있습니다.

프로그램을 만드는 방법



Alt+F11로 VBA를 엽니다.

ThisWorkbook을 두 번 클릭하여 열고 다음 프로그램을 작성합니다.

Excelを起動した時にIMEも起動 ~3行マクロ
’イベントプロシージャの記述
Private Sub Workbook_BeforeClose(wb as Boolean)

Dim ws as Worksheet


’全シートを順番にactiveにするためのコード
For Each ws In Worksheets
    ws.activate

 
 ’もしフィルターモードがtrueならフィルターをクリア
    If ws.Filtermode = True Then
      ws.ShowAllData
    End If

Next

End Sub

프로그램 설명


  • 이벤트 프로 시저를 사용하여 통합 문서를 닫을 때 이벤트가 발생하도록 설정합니다.
  • 워크시트를 변수에 할당
  • "For Each"를 사용하여 모든 시트 객체를 순서대로 얻기위한 설명을 작성합니다 (ws는 변수)
  • 「ws.activate」로 시트 1로부터 차례로 액티브하게 해 간다
  • "if 문"에서 시트에서 자동 필터가 사용되면 모든 것을 표시하도록 설명 (필터 지우기)
  • 「Next」에 의해 전체 시트문 반복 처리를 실시한다

  • 테이블을 사용하고 있으면, 「AutoFilterMode」를 「False」로 해도 해제를 할 수 없었기 때문에 작성해 보았습니다.

    공유하고 사용하는 파일이었으므로, 다음에 사용하는 사람이 사용하기 쉬워진다고 생각합니다.

    좋은 웹페이지 즐겨찾기