이전 포스팅에는 엑셀에 개발도구를 추가하고 매크로의 기록, 정지, 코드 확인하는 과정에 대해서 설명했다. 이번 포스팅의 주제는 간단하다. 매크로 기록을 연습하고, 사용해 보는 과정이다. 이 과정을 충분히 거치고 다음 주제로 넘어가길 추천한다.

엑셀 버전 : MS Excel 2013

이번엔 아무거나 기록하지 말고 쓸만한 무언가를 기록한다. 각자 '쓸만하다'의 기준이 다르겠지만, 셀의 글자 크기를 15pt로 하는 매크로를 작성하겠다.

  1. A3셀에 "Hi Hello"라고 입력한다.
  2. 매크로 기록 시작
  3. 글자 크기를 15pt 로 변경
  4. 매크로 기록 중지

여기 까지 했다면 셀의 글자 크기를 15pt로 하는 매크로를 잘 작성한 것이다. 이제 이 매크로를 사용해보겠다.

  1. C5셀에 "TEST"라고 입력한다.
  2. 단축키 Alt + F8 을 입력하여 매크로 실행 창을 띄운다.
  3. 위에서 지정한 매크로를 실행한다.
  4. C5셀의 글자 크기가 15pt로 변경되는 것을 확인한다.

잘 되었을 수도 있고, 그렇지 않을 수도 있다. 사실 프로그래밍에서 많이 배울 때는 에러나 버그를 고치는 과정이라고 생각하기 때문에 잘 안되었다면 더욱 환영이다.

만약 C5셀이 전혀 반응이 없다면 매크로가 A3셀 전용(?)의 매크로가 생성된 것인지 확인해볼 필요가 있다. 확인하는 방법은 간단한데, A3셀의 글자 크기를 10pt로 변경한 후 커서를 C5에 놓고 매크로를 실행시키는 것이다. 이 때 A3셀의 글자 크기가 15pt로 변경된다면 위에서 기록한 매크로가 A3셀의 글자 크기만 15pt로 변경하는 매크로로 기록된 것이다.

이렇게 된 원인은 매크로 기록에 불순물?이 끼어들어갔기 때문이다. 아래와 같은 순서로 매크로를 기록했다고 가정해보자. (실제로 따라 하면 더욱 좋다.)

가정1
  1. A3셀에 "Hi Hello"라고 입력한다.
  2. 매크로 기록 시작
  3. 커서를 다른 셀로 옮긴다.
  4. 커서를 A3셀에 놓는다.
  5. 글자 크기를 15pt로 변경
  6. 매크로 기록 중지
가정2
  1. 매크로 기록 시작
  2. 커서를 A3셀에 놓는다.
  3. A3셀에 "Hi Hello"라고 입력한다.
  4. 글자 크기를 15pt로 변경
  5. 매크로 기록 중지

다시 한번 상기하면 매크로는 사용자의 행동을 빠짐없이 기록한다. 가정1의 매크로가 실행되면 커서를 다른 셀로 옮긴 후 A3로 옮기는 과정부터 시작한다. 그 이후에 글자 크기를 15pt 로 변경하게 된다. 가정2의 매크로는 실행되면 A3에 커서를 놓고 "Hi Hello"라고 쓴 다음 글자 크기를 15pt로 변경한다.
따라서 C5셀에 커서를 놓은 후 매크로를 실행시켜도 매크로는 A3에 커서를 다시 옮기게 된다.

느끼고 있겠지만 매크로 기록을 할 때에는 불필요한 행동을 하면 안 된다. 정확히 원하는 기능만 기록해야 한다. 셀의 글자 크기를 15pt로 바꾸고 싶으면 글자 크기만 15pt로 바꾸는 행동만 기록해야 한다. 가정들처럼 (미처 인지하지 못했지만) 원하는 작업 이외의 다른 행동을 입력하게 되면 오 동작을 유발할 수 있다.

글자 크기 변경 같은 연습할 수 있는 주제들을 소개해본다. 아래 목록들도 함께 연습하면서 동작을 확인하면 좋을 것 같다. 여러 셀을 선택하고 매크로를 실행했을 때의 경우도 확인하면 좋겠다.

  • 선택한 셀의 셀 병합
  • 스타일 입력 (좋음, 보통, 나쁨 등등)
  • 가운데 맞춤 (가운데 정렬)
  • 서식 변경 (통화, 날짜, 백분율)
  • 데이터 삭제 (안의 내용만 삭제)
  • 행 삭제, 열 삭제, 셀 삭제