카테고리 없음

엑셀(Excel) VBA으로 특정 셀 클릭으로 시트 이동 후 클릭한 셀의 값으로 자동 필터

김 숨 2023. 1. 13. 09:52

VBA를 처음 써보는거라 틀린게 많습니다(야매야매)ㅜㅜ 더 좋은 방법이 있으면 댓글로 알려주세요!

 

 

★원하는 동작★

통계 Sheet에서 E열의 임의의 셀 클릭시 Data Sheet로 이동 후 H열에서 클릭한 셀의 값으로 자동 필터링 

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

Dim str As String

If Intersect(Target, Range("E2:E3000")) Is Nothing Then Exit Sub ' 영역변수 Target과 E열의 교차되는 교집합 영역이 없다면 E2셀에서 프로시저 발동
    If Target.Cells.Count > 1 Then Exit Sub                         ' Target의 셀이 1개 이상일 경우
    str = Target.Value                                              ' Target의 값 변수에 저장

    If IsEmpty(Target) Then Exit Sub

Set srch = Worksheets("Data").Range("H1")          
    If Not srch Is Nothing Then
      Application.Goto srch									  '  Data 시트의 H1 열로 이동
      
      Worksheets("Data").Range("H1").AutoFilter _
      Field:=8, Criteria1:=str, Operator:=xlFilterValues      '  ActiveSheet.배열에 있는 값을 필터링함
      Cancel = True
        
End If

End Sub

다음 동작

클릭한 셀의 왼쪽셀의 값도 같이 추출하여 각각 G열 H열 필터링

 

참고 및 출처

https://www.oppadu.com/question/?mod=document&uid=32130 

https://m.blog.naver.com/da91love/220941962894