티스토리 뷰



[Excel Macro] 엑셀 매크로 기록기 (절대 참조, 상대참조)


엑셀 매크로는 VBA를 통해서 만들어는 특정 기능을 수행하는 방법이라고 지난 포스팅에서 설명을 드렸습니다. 이 설명을 통해서 사용자들은 과연 엑셀 매크로를 사용하기 위해서 무조건 VBA를 이용해야 하는가? 에대한 의문이 있을 수 있을거라는 생각이 듭니다.


대답은 'No'입니다. 


엑셀은 기본적으로 매크로 기록기라는 것을 제공하고 있습니다. 매크로 기록기를 설정하고 자동 처리가 되는 동작을 실제로 직접 한 뒤에 매크로 기록 중지하고 난뒤, 이 동작을 매크로를 통해서 다시 재실행할 수 있습니다.


따라서 매크로를 만드는 방법은 크게 2개로 구분을 할 수 있습니다. 

  • 매크로 기록기 이용
  • VBA 매크로 직접 작성
이 글에서는 매크로 기록기를 이용하여 매크로를 만들어보는 방법에 대해서 알아보도록 하겠습니다. 

1. 매크로 기록기를 통해서 매크로 만들기(절대 참조)

매크로 기록기를 이용해서 매크로를 만들기 위해서는 아래와 같은 동작을 수행해야 합니다. 매크로 기록 버튼을 누른뒤 동작을 수행하고, 기록 중비 버튼을 누르면 완료가 됩니다. 



그럼 직접 따라 하면서 배워보도록 하겠습니다. 


매크로 기록 버튼을 누릅니다. 개발도구 탭이 보이지 않는다면 아래의 링크르 참조하시기 바랍니다. 



매크로 기록 버튼을 누르면 아래와 같은 설정 창이 뜹니다. 원하는데로 설정을 하시면 됩니다. 단축키 설정도 가능한데, 단축키로 들어가는 키는 영문키어야만 합니다. 



매크로를 행할 동작을 수행합니다. 저는 아래 그림처럼 표를 하나 만들어 보았습니다. 



기록이 끝이 났으면, 기록정지 버튼을 누릅니다.



그럼 다시 매크로를 실행해 봐야겠죠. 새 시트를 만든뒤, 그 시트로 이동을 합니다(저는 새파일을 만들었습니다.) 매크로 버튼을 누릅니다. 



Test라고 위에서 만든 매크로가 보입니다. 실행버튼을 누릅니다.



실행을 누르면 Book2에 동일한 결과가 들어가는 것을 확인할 수 있습니다. 



지금까지 절대 참조를 통한 매트로 설정 및 사용방법에 대해서 알아보았습니다.

갑자기 절대 참조라는 이야기가 나왔습니다. 절대 참조란 매크로 기록시 사용자가 지정한 cell의 위치가 변경되지 않고 무조건 그 위치에 처리가 되게끔 하는 방식입니다.


실행 결과의 테이블을 다시 한번 살펴봅시다. 테이블 안의 F에 A~E까지의 숫자를 모두 합하고 싶다고 한다면 어떻게 해야할까요? 물론 절대 참조 매크로를 이용해서 처리할 수도 있습니다. 하지만 다른 파일에는 테이블이 엑셀의 B열이 아닌 C열 혹은 A열에서 시작한다면 절대 참조로 처리가 불가능할 것입니다.


이런 문제를 해결하기 위해서 '상대 참조로 기록' 이라는 명령어를 사용할 수 있습니다. 


2. 상대 참조를 통해서 매크로 만들기


상대 참조로 기록하기 위해서는 아래의 절차를 거쳐야 합니다. 절대 참조와 동일하지만 중간에 상대참조 기록 명령을 한번 클릭해주시면 됩니다. 




그럼 상대 참조를 통한 매크로 기록 방법도 알아보도록 하겠습니다. 
상대 참조를 위해 매크로를 하나더 만들어 봅니다. 이번엔 단축키 m도 넣어보았습니다. 


확인 버튼을 누르고, 아래의 그림처럼 상대참조로 기록을 클릭합니다. 



그리고 엑셀의 B열부터 F열까지 더하는 식을 G열에 넣습니다. 이어지는 여러 열에 대한 합을 구할 때는 sum 함수를 사용할 수 있습니다. 

잘모르신다면 아래의 그림처럼 G13 셀에 =sum(B13:F13) 이라고 넣습니다.



기록 중지를 누르고 테스트 해보도록 하겠습니다. 아래의 테이블에 6의 값이 있는 빨간 네모 상자에 마우스를 가져다 놓고 클릭을 합니다. 



ctrl + m을 누릅니다. 그럼 1부터 5까지 더한 결과가 기존의 6에서 변경되는것을 확인할 수 있습니다.



이번 글에서는 절대 참조와 상대참조를 이용하여 엑셀 매크로를 만들어 보고, 사용해 보았습니다. 질문이 있으시면 언제든 환영합니다.


이 글이 도움이 되셨나요?

그렇다면 아래의 그림을 클릭해주세요.



댓글