본문 바로가기

Study/Excel

[엑셀] 엑셀 매크로 만들기 - 매크로기록 보기

728x90

[엑셀] 엑셀 매크로 만들기 - 매크로 기록 보기

안녕하세요. 

Men's Grooming Plan J

제이핏입니다.

 


 

오늘은

매크로 기록 기능을 이용해

간단한 엑셀 매크로를 만들어 볼까 합니다.

이번 포스팅을 보시고

필요하신대로 응용하시면 좋을 것 같네요!


매크로? 함수? 프로그래밍? 어려운 거 아니야?

매크로를 만든다는 건

어렵게 느껴지시는 게 사실이죠..

사실 기본 함수만 잘 활용해도

엑셀을 잘 다루는 거랑 마찬가지니깐요.

 

그래서

매크로는 함수를 다루는 그 위의 영역이라고

생각 들어 접근조차 못하고

있는 분들이 많은 것 같습니다.

정말 기업에서나 쓸만한 매크로를

만드는 것은 어렵습니다.

 

하지만,

기본적으로 단순 반복에 필요한

한 두 가지 기능은

여러분도 충분히 가능합니다!

 

모든 매크로 함수(VBA 프로그래밍)를 몰라도

"매크로 기록"

기능으로 우리는 확인만 해서 쓰면 되거든요.

 

잘 안 와 닿으실 것 같으니

그럼 간단한 예제로

한번 매크로를 만들어보겠습니다.


매크로 기록 어떻게 사용하는가?

아래에 사진에서

빨간색 사각형으로 표시해놓은 게

[매크로 기록] 버튼입니다.

 

엑셀 화면 하단에 버튼을 클릭하면

화면 중앙에 [매크로 기록] 팝업창이 뜹니다.

 

처음 하시는 분들은

엑셀 상단의 리본 메뉴에

[개발도구] 탭이 안보이실 수 도 있는데

이것은 기본 설정이 안 되어서 그러니

제가 VBA 프로그래밍에 대해 쓴 포스팅 있으니

아래 참조하시면 [개발도구] 탭 보이게 설정하실 수 있습니다.

 

 

[엑셀] 엑셀 VBA PROGRAMMING 이란? (엑셀 매크로)

[엑셀] 엑셀 VBA PROGRAMMING 이란? (엑셀 매크로) 안녕하세요. Men's Grooming Plan J 제이핏입니다. 오늘은 엑셀의 꽃 VBA 프로그래밍이 무엇인지 알아보겠습니다. VBA는 도대체 뭐야? VBA는 엑셀에서 제공하.

plan-j.tistory.com

상단 이미지에 보면 매크로 이름을

자신이 원하는 기능 구현을 생각할 수 있는 이름으로

정하고 확인 버튼을 클릭하면

 

그다음부터

자신의 동작에 대해 매크로 함수로

기록을 남깁니다.

 

그래서 기록한 매크로 함수를

어떻게 활용하냐고요?


내가 지정한 범위 색깔 칠하기 매크로!

[매크로 기록] 팝업창에서 확인하고 나면

아래와 같이 팝업창이 닫히고

빨간색 사각형의 아이콘이 바뀐 걸 확인하실 수 있습니다.

 

이제 매크로 기록 모드가 된 상태인데요.

 

<통계청 부문별_석탄소비량>

 

여기 표 자료에서

제가 원하는 부문만 행을

노란색으로 칠하는 매크로를 만들고

싶다고 할게요.

 

그럼 현상태가 기록 모드니

우선 산업에 있는 부문의 행 범위를 지정하고

색깔을 노란색으로 채우는 것까지 순서대로 진행합니다.

 

위의 작업은 특별한 것 없이

원래 엑셀에서 많이 작업들 하시는 것처럼

순서대로 했는 것이 전부입니다.

 

엑셀 창 하단에는 기록 모드가 여전히 보이고 있죠.

이제 원하는 작업은 다 됐으니 기록을 멈추고

매크로 함수가 어떻게 생겼는지 보겠습니다.

 

이제 기록된 매크로 함수를 보기 위해

Alt + F11 키를 눌러

VBA Editor창을 열게 됩니다.

 

 

VBA Editor창에서 왼쪽

모듈 내의 Module 1에

매크로 1 이름으로

매크로 기록을 확인할 수 있습니다.

 

그럼 내용은 살펴볼까요?

Sub 매크로1() 

' 매크로1 매크로

    Range("D10:L10").Select 
    With Selection.Interior 
        .Pattern = xlSolid 
        .PatternColorIndex = xlAutomatic 
        .Color = 65535 
        .TintAndShade = 0 
        .PatternTintAndShade = 0 
    End With 
    Application.WindowState = xlNormal 
End Sub 

음.. 어렵게 느껴지실 수도 있겠지만,

차근차근 볼게요.

 

Sub 매크로 1() 부분은

매크로 1의 이름을 가진 매크로 기능을 의미합니다.

다양하게 만들어놓은 매크로를 구분 짓기 위해 만든

이름이라고 생각하시면 됩니다.

 

초록색 글자로 되어있는 부분은

첫 글자 앞에 ( ' ) 작은따옴표로 표시하면

Sub내의 매크로 동작과는 무관한 주석처리라고

생각하시면 됩니다.

보통은 기능이 복잡하고 내용이 많아질 때

개발자가 알아보기 쉽게 메모해두는 기능을 합니다.

 

Range부분은

처음에 표 자료에서 범위를 지정했죠.

D10:L10 범위를 선택했었잖아요?!

매크로 함수도 직관적이 않나요? ㅎㅎ

 

그다음

With Selection.Interior 부분은

with 시작에서 End With까지

내부에 있는 것의 속성을 적용합니다.

내부의 속성을 보면 선은 실선으로, 색깔은 노란색 등을

의미하겠죠.

 

사실 이런 것들을 모두 알고

매크로 만들기는 참 어렵습니다.

그래서 이렇게

매크로 기록을 활용해서 필요한 부분의

매크로 함수를 얻어내는 거죠.

 

그럼 우리는 

"노란색을 지정한 범위에 색칠한다"

이게 매크로 기능이니까

 

다른 행에서 적용할 수 있도록

살짝 응용해서 써보도록 하겠습니다.

 

Sub 매크로1() 

' 매크로1 매크로 

   Range(activeCell, ActiveCell.offset(0,8)).Select
    With Selection.Interior 
        .Pattern = xlSolid 
        .PatternColorIndex = xlAutomatic 
        .Color = 65535 
        .TintAndShade = 0 
        .PatternTintAndShade = 0 
    End With 
    Application.WindowState = xlNormal 
End Sub 

표 자료에서 다른 부문도 똑같이 

행을 칠하고 싶으면 결국 범위를 지정해줘야겠죠.

 

매크로 1에서 수정한 부분은

위의 빨간색 한 줄밖에 없습니다.

 

빨간색 줄의 의미는

단지 사용자가 어떤 행을 선택할지 모르기 때문에

ActiveCell이란 걸로 현재 선택된 셀을 의미하고

Range로 activeCell의 오른쪽 8번째까지로 범위를 선택하겠다는 것이죠.

그 외 나머지는 같습니다.

범위만 선택되면 색깔만 칠하면 되는 것이니까요!

 

그럼

실제로 응용한 매크로를 사용해보겠습니다.

 

특정 버튼을 만들어서 매크로 실행이

가능하다는 점도 알고 계시고요.

이번에는

매크로를 편하게 사용하기 위해

단축키를 지정하겠습니다.

 

아래처럼 [개발도구] 탭에서

[매크로] 버튼을 클릭하시고

팝업창에서 [옵션] 버튼을 클릭

그리고 [바로가기 키]에서

저는 CTL+D 키로 매크로 동작되게 하였습니다.

마지막으로 확인을 누르면

매크로 사용 준비는 끝났습니다.

 

그럼 아래 표에서

수송부문의 행을 매크로로 색칠해보겠습니다.

 

아래 사진처럼

수송이 적힌 셀의 오른쪽 셀은 선택하고

지정해둔 단축키인 CTL+D를 누르면

행전체가 노란색으로 색칠되는 걸 확인하실 수 있습니다.

 

어떤가요?

실제로 간단한 매크로를 만들어봤는데

감이 좀 오시나요?

 

저는 회사 업무 시

다양하게 활용하고 있습니다.

 

아무래도 방대한 데이터에서

반복 작업이 필요할 때 매크로는 빛이 나죠.

 

최대한 쉽게 풀어보려고 했는데

내용 전달이 잘 됐는지 모르겠네요.

 

그냥 이번 글에서 하나만 기억하고 가주세요!

매크로 함수를 몰라도 매크로를 만들 수 있다는 걸~

 


읽어 주셔서 감사합니다. 

피드백은 퀄리티 좋은 글을 만듭니다.

정보가 도움되셨다면

공감과 구독 부탁드립니다!

Plan J - 제이핏

728x90