안녕하세요, Davey입니다. 오늘 포스팅할 내용은 Excel 엑셀 매크로 중에 엑셀 테이블의 Header를 이용하여 오름 차순을 구현할 수 있는 매크로 관련 내용입니다. 오늘 알려드릴 Macro는 BeforeDoubleClick 이벤트를 이용한 Macro 입니다.
업무나 가정에서 엑셀을 통해서 작업을 하고, 특히 테이블이나 표 작업을 하면서, 필터를 사용하지 않고, 오름차순, 내림차순을 구현하고 싶은 분들에게는 추천하는 매크로입니다. 그럼 일단 어떤 문제에 대해서 매크로를 만들려고 하는지부터 자세히 설명드리도록 하겠습니다.
1. 매크로 구현을 위한 예제 테이블 만들기
: 매크로 구현을 위해서 예체 테이블을 만들어 보도록 하겠습니다.
1) Header : "이름" , "나이"
2) 이벤트 구현 : Header를 Double Click 하게 되면 테이블이 오름차순으로 정렬되는 이벤트 구현
2. Double Click 이벤트 구현을 위한 매크로 코드 구현하기
: Double Click 이벤트 구현을 위해서 VBA 편집기를 통해서 매크로 코드를 구현해보도록 하겠습니다. 각 코드마다 설명이 필요한 부분은 기재하도록 하겠습니다. 아래 코드 참조 부탁드립니다.
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
' Table과 그에 해당하는 Header를 입력할 수 있는 변수를 선언
Dim Table1 As Range
Dim Header1 As Range
' 선택한 셀에 대해서 빈셀일 경우에는 아래 매크로가 실행되지 않게 구현하는 코드
If IsEmpty(Target) Then Exit Sub
' 선택한 셀을 기준으로 "Ctrl + A" 를 구현했을 때 잡히는 범위를 Table1에 입력
Set Table1 = Target.CurrentRegion
If Table1.Rows.Count = 1 Then Exit Sub
Set Header1 = Cells(Cells(1).Row, Target.Column)
' 오름차순 정렬은 Ascending, 내림차순 정렬은 Decending으로 하시면 됨.
Table1.Sort Key1:=Header1, Order1:=xlAscending, Header:=xlYes
Cancel = True
End Sub
- 위 코드를 하고 해당 테이블에서 Header를 Double Click 하면 아래와 같이 오름차순이 정렬되는 것을 확인하실 수 있습니다.
이상입니다. 간단한 매크로이긴 하지만, 그래도 복잡한 작업이 아닌, 고정된 테이블을 구현하는 엑셀 파일이라면, 이 매크로를 사용하시면 나름 편안하게 사용하실 거라고 생각합니다. 그럼 오늘도 좋은 매크로 하나 건져갔다고 생각하시고, 스스로 한 번 구현해보세요. 그럼 이만 마무리하겠습니다. 같이 공부하시고, 같이 성장하시죠! 감사합니다.
[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁드립니다. 검토 후 수정 및 삭제 조치하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을 때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]
'엑셀 (Excel)' 카테고리의 다른 글
Option Explicit 의미와 적용 유무에 따른 코드 구현 방법 (feat. 엑셀 매크로 VBA) (0) | 2021.04.25 |
---|---|
Excel Macro - 조건값이 병합된 셀 영역일 경우 합계 구하는 매크로 코드 구현하기 (0) | 2021.03.15 |
Excel 엑셀 매크로 - Beforeprint 이벤트로 Print Line 설정 하기 (0) | 2021.03.15 |
Excel 엑셀 매크로 - 이름 관리자 오류 및 중복 해결 Macro (0) | 2021.03.14 |
Excel 엑셀 매크로 Activate + Deactivate 이벤트 만들기 (0) | 2021.03.14 |
댓글