Range 개체

열머리 더블 클릭시 정렬

노만e 2025. 4. 2. 21:12

1. 사용자 중심 정렬 기능이 필요할 때

  • 일반 사용자가 정렬 버튼이나 필터 메뉴를 복잡하게 누르지 않고,
    **"더블클릭만으로 빠르게 정렬"**할 수 있어요.

2. 현장에서 반복되는 데이터 분석을 쉽게 하고 싶을 때

  • 매일 변경되는 판매 데이터, 재고 목록 등에서
    사용자가 원하는 열을 빠르게 정렬해야 할 때 유용합니다.

3. 정렬 기준을 사용자에게 직관적으로 제공하고 싶을 때

  • 버튼을 추가하지 않고도, 헤더의 텍스트만으로 정렬이 가능하므로
    시트가 깔끔하게 유지됩니다.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim dataRange As Range            ' 테이블 전체 범위 (CurrentRegion 기준)
    Dim sortKeyCell As Range          ' 정렬 기준이 되는 셀 (헤더 셀)

    On Error Resume Next
    Set dataRange = Me.Range("A1").CurrentRegion
    On Error GoTo 0

    ' 헤더 셀의 값을 기준으로 정렬 대상 지정
    Select Case Target.Value
        Case "일자"
            Set sortKeyCell = dataRange.Cells(1, 1)   ' 첫 번째 열
        Case "품목"
            Set sortKeyCell = dataRange.Cells(1, 2)   ' 두 번째 열
        Case "수량"
            Set sortKeyCell = dataRange.Cells(1, 3)   ' 세 번째 열
    End Select

    ' 정렬 실행
    If Not sortKeyCell Is Nothing Then
        dataRange.Sort Key1:=sortKeyCell, Order1:=xlAscending, Header:=xlYes
        Cancel = True     ' 기본 더블클릭 동작(셀 편집) 취소
    End If

End Sub

 

열머리 더블 클릭시 정렬.xlsm
0.02MB