반응형
안녕하세요,봉자씨입니다.

오늘은 간단하게 엑셀의 매크로에 대해서 배워보도록 하겠습니다. 
매크로에는 두 가지의 방법으로 기록이 가능합니다.

1.  엑셀의 매크로 기록기를 이용하여 매크로 작성 후 방법
2. 엑셀의 VBA를 통한(프로그래밍) 매크로 작성 후 이용하는 방법

(VBA란? Visual Basic for Application의 약자입니다. 비주얼 베이직이란 프로그램을 작성하는 언어로 초보자도 싶게 사용이 가능합니다. 이를 통해서 어플리케이션, 즉 엑셀에 사용할 매크로를 작성하게 됩니다.)

그럼 오늘 배울 내용은?
오늘 배우는 것은 매크로 기록기에 의한 매크로입니다.(아직 초보단계 강좌이니까요.)

매크로 기록기를 이용한 매크로(절대 참조, 상대 참조)
절대 참조요? 상대 참조요? 갑자기 이런 말이 왜 나왔는지에 대한 궁금증이 생깁니다. 
매크로 기록기를 이용하여 매크로를 작성하는 방법에도 두 가지가 있습니다.


절대 참조를 이용한 방법 VS 상대 참조를 이용한 방법

절대 참조 매크로

현재의 위치와 상관 없이 매크로 실행 시에 동일한 위치에서 실행되는 것

상대 참조 매크로
이와 다르게 현재의 위치에 따라 매크로 실행 시에 다른 위치에 실행되는 것


매크로에 대해서 배우기 전에 하나 확인해야 할 것이 있습니다. 매크로 기록기가 메뉴에 있는지 확인 하셔야 합니다.


해당 기능이 없어서 안 보이시면 간단하게 만들 수가 있습니다. 간단하게 체크만 해주시면 되요.
파일 => 옵션으로 이동합니다.  그리고 아래와 같은 창이 열립니다. 아래 창에서 개발 도구를 클릭 하시면 됩니다.


그럼 이제 준비가 되었습니다. 먼저 절대 참조 매크로에 대해서 한번 정리를 해보겠습니다.
사용 순서는 아래와 같이 기록을 수행하고 사용하게 됩니다.


그럼 간단하게 예를 들어서 수행을 해보겠습니다. 
아래와 같이 x항과 y항의 합계를 구하는 매크로를 작성해보겠습니다.


먼저 매크로 기록이라고 눌러 주시면 됩니다. 
럼 아래와 같은 창이 뜹니다.


초록색 박스는 기록한 매크로를 어떤 이름으로 저장 할지 이름을 지정하시면 됩니다. 
주황색 박스는 단축키를 사용하여 매크로를 사용할 수 있는데 바로 그 단축키를 무엇으로 할지 적어 주는 곳입니다
(영문자로 하세요!! 숫자 안됨) 널리 알려진 ctrl+s(저장 단축키) / ctrl+o(열기 단축키) 등등 이런 것들을 지정하게 되면 단축키 고유의 기능은 사라지고 매크로가 실행되니 알아두시면 됩니다.(역 이용해도 되겠죠?) (빈칸이라면? 단축키가 없는 것입니다.)

다음으로 매크로 저장 위치는?
총 3가지가 나오는데 이 것은 무엇인지 알아보겠습니다.

개인용 매크로 통합 문서
- 저장하게 되면 현재 설치된 엑셀에서 공통적으로 사용
- Personal.xlsb로 저장하게 됨(xlsb매크로를 포함한 바이너리 파일.)
- 해당 내용을 삭제 하려면 XLSTART폴더에 가서 Personal.xlsb을 수정하거나 삭제
(XLSTART폴더의 위치는 아래 옵션에 들어가서 자동 복구 파일 위치에 들어가시면 대부분이 하위 폴더로 존재하니 참고하세요^^)



새 통합 문서
- 새 문서가 열리며 매크로가 기록되게 됨

현재 통합 문서
- 저장하게 되면 현재 통합 문서에서만 매크로를 사용 할 수 있음

이제 저희는 현재 통합 문서로 하고 기록을 해보도록 하겠습니다. 
아래처럼 하고 이제 기록 중지를 클릭해보겠습니다.


그리고 나서 합계는 삭제하고 Y항의 값도 바꿔보겠습니다. 매크로를 클릭 합니다. 
그럼 아래와 같이 매크로가 나타나고 실행을 클릭 합니다.


그렇게 실행을 하고 나니 아래와 같이 실행 결과가 나타나는 것을 확인 할 수가 있습니다.

여기서 포인트는 어느 위치 어디서 실행하던지가 동일한 위치에서 결과가 실행된다는 것입니다.
이제 상대 참조 매크로 기록기 이용에 대해서 한번 알아 보도록 하겠습니다. 
기록 하는 과정은 절대 참조랑 어떻게 다를까요?  다른 건 단 한가지 입니다. 
아래를 한번 보세요.


상대 참조로 기록 이란 버튼을 추가로 눌러 주시면 됩니다. 그럼 어떻게 되는지 한번 보도록 하겠습니다.


그리고 아래와 같이 상대 참조로 기록을 눌렀습니다.


그리고 두개의 식만 작성 하고 기록 중지 버튼을 눌렀습니다.


한번 실행을 해보죠 어떻게 돌아 가는 지 확인해 보겠습니다. 
참고로 단축키로 실행해 볼게요 ctrl+d로 해두었습니다. 
한번 눌러 보도록 하겠습니다. 실행이 되는지 확인 합니다.

두 칸씩 내려가면 현재 위치 기준으로 계속 계산이 되죠? 
곰곰이 생각해 보겠습니다. 쓸 곳이 엄청 많습니다. 기억하세요!!

위치를 바꿔가며 사용해야 하는 매크로라면 상대참조 매크로를!!!
위치가 고정된 기능을 사용하실 거면 절대 참조 매크로를!!!





반응형