이 기사에서는 셀 선택을 기반으로 데이터를 필터링하는 방법을 배웁니다.

아래 단계를 따라야합니다.

개발자 탭을 클릭하십시오. 코드 그룹에서 Visual Basic을 선택하십시오

img1

현재 워크 시트에 다음 코드를 입력합니다 (이 예에서는 sheet1)

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)

Dim xcolumn As Integer

Dim xvalue As String

xcolumn = ActiveCell.Column

xvalue = ActiveCell.Value

Application.Intersect (ActiveCell, [headers])가 아무것도 아닌 경우

If ActiveCell.Value <> “”Then

ActiveSheet.Range ( “A : d”). AutoFilter 필드 : = xcolumn, Criteria1 : = xvalue

취소 = True

End If

End If

End Sub

===

===

Private Sub Worksheet_SelectionChange (ByVal Target As Range)

Dim rownumber As Integer

rownumber = ActiveCell.Row

Application.Intersect (ActiveCell, [headers])가 아무것도 아닌 경우

If ActiveCell.Value <> “”Then

Range ( “A1 : D13”). Interior.ColorIndex = xlNone

Range ( “A”& rownumber & “: D”& rownumber) .Interior.ColorIndex = 6

End If

End If

End Sub

img2

참고 : 위 코드의 헤더는 범위 A1 : D1의 명명 된 범위를 나타냅니다. 범위 A1 : D1을 선택하고 이름 상자에 헤더를 입력하거나 수식 탭에서 정의 된 이름을 사용할 수 있습니다

img3

BeforeDoubleClick * 이벤트는 사용자가 셀을 두 번 클릭 할 때마다 트리거되며 검색 아래로 필터를 변경합니다.

  • 제품 C로 데이터를 필터링하려면 D4 셀을 쉽게 두 번 클릭하여 검색을 필터링 할 수 있습니다.

img4

열 C 및 제품 KFCWW로 검색을 필터링하려는 경우 C4 셀을 두 번 클릭하여 데이터 범위를 좁 힙니다.

img5

SelectionChange * 이벤트는 사용자가 셀을 선택할 때마다 활성화되며 색상이 흰색에서 노란색으로 변경됩니다. 활성 셀이 비어 있으면 코드가 실행되지 않습니다.

  • B3 셀을 클릭하면 행이 노란색으로 강조 표시됩니다. 아래 스냅 샷 참조

img6

여기에서 수식 표시 줄에 선택한 셀, 즉 B3 셀이 표시되는 것을 볼 수 있습니다. 이러한 방식으로 한 번의 클릭으로 행을 강조 표시하고 VBA 코드를 사용하여 셀 선택을 기반으로 데이터를 필터링 할 수 있습니다.