본문 바로가기
카테고리 없음

Excel 엑셀 매크로 - 테이블 Header 를 이용하여 오름차순 정렬하는 매크로 구현하기

by ★√★ 2021. 3. 15.

안녕하세요, 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 하면 아래와 같이 오름차순이 정렬되는 것을 확인하실 수 있습니다. 

 

매크로-구현
0
매크로-구현

 이상입니다. 간단한 매크로이긴 하지만, 그래도 복잡한 작업이 아닌, 고정된 테이블을 구현하는 엑셀 파일이라면, 이 매크로를 사용하시면 나름 편안하게 사용하실 거라고 생각합니다. 그럼 오늘도 좋은 매크로 하나 건져갔다고 생각하시고, 스스로 한 번 구현해보세요. 그럼 이만 마무리하겠습니다. 같이 공부하시고, 같이 성장하시죠! 감사합니다.

 


[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁드립니다. 검토 후 수정 및 삭제 조치하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을 때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]

728x90

댓글


// 내부링크를 현재창으로 열기 // Open internal links in same tab