(예시)
사용 하고 있는 서비스 시트의 "사용 건수" 의 칼럼에 있는 숫자를 클릭 했을 때,
클릭한 행의 B열에 있는 id 값을 저장해서 "사용 전체리스트" 시트로 이동
그 id 가 사용하는 서비스들만 필터링 하여 볼 수 있게 함
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim var As Variant
Dim id As String
Dim var2 As Variant
Dim srch As Range
Dim Tar As Range
Dim columB As Range
Dim distance As Integer
Dim cell2value As Variant
Set columnB = Range("B:B") ' B열
' Target의 셀이 1개 이상인 경우는 처리하지 않음
If Target.Cells.Count > 1 Then Exit Sub
'Target의 2행의 값이 '사용 건수' 일경우
id = Worksheets("아이디 확인").Cells(2, Target.Column).Value
If StrComp("후기 건수", id, vbTextCompare) = 0 Then
'후기 내용시트의 필터 제거
Worksheets("후기 내용").AutoFilterMode = False
cell2value = Worksheets("아이디 확인").Cells(Target.Row, columnB.Column).Value
var = cell2value
Debug.Print var
If Target.Value = "0" Then
MsgBox "해당하는 내용이 없습니다.", vbCritical, "건수 확인"
Exit Sub
End If
' 클릭한 셀이 비어있는 경우는 처리하지 않음
If IsEmpty(Target) Then Exit Sub
' 전체리스트 시트에서 id 값으로 필터링
Set srch = Worksheets("후기 내용").Range("B2")
' srch가 null이 아닌 경우에만 처리
If Not srch Is Nothing Then
Application.Goto srch
' id 값이 "-"가 아닌 경우에만 필터링
If Not var = "" Then
Worksheets("후기 내용").Range("B2").AutoFilter Field:=1, Criteria1:=var, Operator:=xlFilterValues
End If
Cancel = True
End If
End If
If StrComp("사용 건수", id, vbTextCompare) = 0 Then
' 사용 전체리스트 시트의 필터 제거
Worksheets("사용 전체리스트").AutoFilterMode = False
cell2value = Worksheets("아이디 확인").Cells(Target.Row, columnB.Column).Value
var = cell2value
If Target.Value = "0" Then
MsgBox "해당하는 내용이 없습니다.", vbCritical, "건수 확인"
Exit Sub
End If
' 클릭한 셀이 비어있는 경우는 처리하지 않음
If IsEmpty(Target) Then Exit Sub
' 사용 전체리스트 시트에서 id 값으로 필터링
Set srch = Worksheets("사용 전체리스트").Range("C2")
' srch가 null이 아닌 경우에만 처리
If Not srch Is Nothing Then
Application.Goto srch
' id 값이 "-"가 아닌 경우에만 필터링
If Not var = "" Then
With Worksheets("사용 전체리스트").Range("B2:G3")
.AutoFilter Field:=2, Criteria1:=var, Operator:=xlFilterValues
End With
End If
Cancel = True
End If
End If
End Sub
'코딩' 카테고리의 다른 글
[VBA, 엑셀] 정규식으로 휴대폰 번호를 다른 내용으로 바꾸기 (2) | 2024.01.04 |
---|---|
[VBA]엑셀(Excel) 특정 셀의 행의 값들 기반으로 다른 시트에서 자동 필터링하기 (0) | 2023.05.04 |