필터 기반 열 형식 (Microsoft Excel)
큰 데이터 테이블에서 Ed는 특정 열이 활발하게 필터링되고 있는지 신속하게 스캔하고 확인할 수 있기를 원합니다. 그는 해당 열을 기반으로하는 필터가있을 때 열의 배경색을 변경하기 위해 조건부 서식을 적용 할 수있는 방법이 있는지 궁금합니다.
이 작업에 접근 할 수있는 몇 가지 방법이 있습니다. 이들 모두는 매크로를 포함하며 각 매크로의 목적은 필터가 특정 열에 대해 작동하는지 확인하는 것입니다. 한 가지 옵션은 필터에 대한 워크 시트를 검사하는 함수를 만들고, 필터가 제자리에있는 경우 필터링 된 영역의 각 열을 확인하여 해당 열에 필터가 있는지 확인하는 것입니다. 다음 매크로는이를 수행합니다.
Sub ColorFilterColumn() Dim flt As Filter Dim iCol As Integer Dim lRow As Long Dim rTemp As Range Dim bFullCol As Boolean ' Set as True if you want entire column shaded bFullCol = False If ActiveSheet.AutoFilterMode Then iCol = ActiveSheet.AutoFilter.Range.Column lRow = ActiveSheet.AutoFilter.Range.Row Application.EnableEvents = False For Each flt In ActiveSheet.AutoFilter.Filters If bFullCol Then Set rTemp = Cells(lRow, iCol).EntireColumn Else Set rTemp = Cells(lRow, iCol) End If If flt.On Then rTemp.Interior.Color = vbYellow Else rTemp.Interior.ColorIndex = xlColorIndexNone End If Set rTemp = Nothing iCol = iCol + 1 Next flt Application.EnableEvents = True End If End Sub
매크로가 작동중인 필터를 찾으면 필터링 된 테이블의 첫 번째 셀이나 필터가있는 전체 열을 강조 표시 (노란색)합니다. 셀 또는 전체 열이 강조 표시되는지 여부는 bFullCol 변수에 할당 된 True / False 값에 따라 결정됩니다.
원하는 경우 필터가 특정 열에 적용되는지 여부에 따라 True 또는 False를 반환하는 함수를 만들 수 있습니다. 이러한 함수를 사용하면 반환 된 값을 기반으로 열을 형식화하는 조건부 형식화 규칙을 만들 수 있습니다.
Function bHasFilter(rcell As Range) As Boolean Dim lBaseCol As Long Dim lCol As Long Application.Volatile bHasFilter = False If ActiveSheet.AutoFilterMode Then With ActiveSheet.AutoFilter lBaseCol = .Range.Column lCol = rcell.Column - lBaseCol + 1 If lCol > 0 And lCol <= .Filters.Count Then If .Filters(lCol).On Then bHasFilter = True End If End With End If End Function
이 함수를 사용하려면 워크 시트 또는 조건부 서식 규칙에서 다음과 같은 수식을 사용하면됩니다.
=bHasFilter(F23)
이 함수는 먼저 효과가있는 필터가 있는지 확인합니다. 그렇다면 수식에 전달 된 셀의 열이 필터링 된 열 범위 내에 있는지 여부를 계산합니다. (수식에서 참조되는 행은 실제로 중요하지 않습니다.) 그렇다면 해당 열에 대해 필터가 켜져 있는지 확인합니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (13410)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.