Lost Information!

엑셀 VBA 기초 - 엑셀 정렬, 매크로만들기 - 2편 본문

개인브랜드블로그를 만들어 보자/엑셀VBA

엑셀 VBA 기초 - 엑셀 정렬, 매크로만들기 - 2편

Lostinformation 2020. 11. 11. 21:33

모두가 칼퇴하는 그날까지~

 

지난 글에서는 

엑셀의 오른 차순과 

내림차순을 매크로로

만드는 방법에 대해 

알려드렸는데요.

 

만일 저번 내용을 모르시거나

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2440

 

엑셀 VBA 기초 - 엑셀 정렬, 매크로만들기 - 1편

모두가 칼퇴하는 그날까지~ 지난 글에서는 OFFSET를 활용하여 원하는 반에 따라 색상이 변경되는 매크로에 대해  알려드렸는데요. 만일 저번 내용을 모르시거나 기억이 나질 않으신다면 밑에

red-s.tistory.com


저번 글에서 이어서

설명드리도록 하겠습니다.

 

위와 같이 반의 순서대로

오름차순이 되어있지만

반안에서 평균이 누가 

가장 높은지 알기는 

쉽지 않은데요.

 

결국 가독성을 올리기 위해

다른 매크로를 설정해야겠죠.

 

그럼 언제나 그랬듯이

ALT +F11을 눌러주세요

 

오른쪽 마우스 버튼을 눌러

삽입에서 모듈을 

추가해주시고요.

 

반은 그대로 오름차순 정렬

하면서 평균은 내림차순으로

정렬해보겠습니다.

 

 

그럼 이렇게 적어주시고

실행하면 되는데요.

 

바로 설명부터 들어가겠습니다.

 

Sub sort_test()

정렬 테스트라고 

메크로 이름을 정한다.

 

Dim rngd    As Range

rngd라는 변수를 설정해

 

Set rngd = Range("C5: I26")

rngd는 C5부터 i26까지 

범위를 가지고 있는데

(원하는 데이터의 범위)

 

rngd.sort key1:=Range("d5"), order1:=xlAscending, _
key2:=Range("I5"), order2:=xlDescending, Header:=xlYes

그중에서 D5부터 d열을

오름차순으로 정렬하고

I5열부터 I열은

내림차순으로 정렬해

그리고 가장 윗줄은 

타이틀로 고정해줘

 

이렇게 코드가 길어질 때 

_ 언더 바로 이어주시게 되면

코드를 연결해서 쭉

적을 수 있습니다.

 

또한 header에 대해 

헷갈리시는 분들이 

많으신데 가장 윗줄을

고정할지 말지에 대해 

묻는 것입니다 

 

xlyes는 고정

xlno는 고정하지 않는다

 

그리고 실행하게 되면 

 

이렇게 데이터 표를

내가 원하는 대로 

가독성이 좋게 

변경할 수 있습니다.

 

또한 order:= 를 

치게 되면 자동으로 

xlAscending 또는

xlDescending

뜨게 되는데요.

 

만약 뜨지 않는다면

CTRL+SPACE 버튼을

눌러주시면 원하는

목록이 뜨게 됩니다.

 

 

 

저번 글에 이어서 

크게 달라진 것이 없는 만큼

어렵지는 않았을 것이라고 

생각합니다.

 

또한 데이터의 양이 

많아지거나 정렬해야 하는

양이 많아진다고 해도 

정렬할 수 있는 KEY만 

추가해준다면 어렵지 않게

정렬할 수 있을 것입니다.

 

당연히 해당 매크로를

버튼이랑 연결시켜 굳이

F5를 눌러 실행시키지 않아도

바로 실행시킬 수 있을 수도 

있을 테고요.

 

엑셀과 매크로는 언제나 

어떻게 활용하는지가 

중요한 만큼 꼭 한번 

직접 적어보시고 자신의 것으로

만드셨으면 좋겠습니다.

 

여기까지 궁금하신 점은

댓글에 남겨주시고 

공감구독도 부탁드립니다.

 

 

 

Comments