마이크로소프트 엑셀은 데이터 필터링 기능을 제공하여 방대한 양의 데이터를 효과적으로 관리하고 이해하는 데 도움을 줍니다. 데이터베이스 구축 경험이 부족하더라도 엑셀 필터는 데이터를 손쉽게 정리할 수 있도록 해주는 유용한 도구입니다. 필터는 특정 열의 데이터를 포함하거나 제외하는 기본적인 기능을 제공하며, 해당 행의 데이터 값에 따라 확장 적용됩니다. 하지만 엑셀 필터는 자동으로 업데이트되지 않는다는 단점이 있습니다. 필터링된 열의 값이 수동으로 수정되거나 수식에 의해 변경된 경우, 사용자가 필터를 다시 적용해야 합니다. 이 문제를 해결하기 위해, 간단한 코드를 사용하면 필터링된 열을 실시간으로 자동 업데이트할 수 있습니다.
이 코드를 사용하려면 엑셀 매크로 기능을 활성화하고 파일을 .XLSM 형식의 매크로 사용 파일로 저장해야 합니다. 매크로 사용 파일로 저장하는 방법은 다음과 같습니다: 파일 메뉴에서 ‘다른 이름으로 저장’을 선택하고, ‘다른 이름으로 저장’ 대화 상자에서 ‘Excel 매크로 사용 통합 문서’를 선택합니다.
다음으로, 필터가 적용된 시트를 선택합니다. 마우스 오른쪽 버튼을 클릭하고 나타나는 컨텍스트 메뉴에서 ‘코드 보기’를 선택합니다.
그러면 현재 엑셀 시트와 함께 마이크로소프트 비주얼 베이직 창이 열립니다. 코드 창에 아래의 코드를 붙여넣습니다:
Private Sub Worksheet_Change(ByVal Target As Range) If Me.FilterMode = True Then With Application .EnableEvents = False .ScreenUpdating = False End With With ActiveWorkbook .CustomViews.Add ViewName:="Mine", RowColSettings:=True Me.AutoFilterMode = False .CustomViews("Mine").Show .CustomViews("Mine").Delete End With With Application .EnableEvents = True .ScreenUpdating = True End With End If End Sub
파일을 저장합니다. 만약 파일을 ‘Excel 매크로 사용 통합 문서’ 형식으로 저장하지 않았다면, 저장하라는 메시지가 다시 나타납니다. 이 때 저장되는 파일은 원본 파일의 복사본으로 생성되며, 원본 파일은 변경되지 않습니다.
코드가 추가되면 이제 필터링된 열의 셀 값을 수정할 때마다 설정된 조건에 따라 데이터가 자동으로 새로 고쳐집니다. 이 코드는 Stack Exchange 사용자 Sorin이 제공했습니다.