본문으로 건너뛰기
엑셀·구글시트 자동화 실험

엑셀·구글시트 자동화 실험No. 256

매크로 기록기로 반복 서식 줄이기 전에 정리하는 순서

파란 제목 행이 있는 빈 격자 표

반복되는 서식과 달라지는 범위

월별 자료를 정리할 때 제목의 글자 크기와 셀 배경색을 매번 손으로 바꾸면 같은 작업을 되풀이하게 됩니다. 여기에 금액 표시 방식이나 열 너비 조정까지 겹치면 빠뜨리는 항목도 생깁니다. 이런 상황에서는 반복하는 동작을 기록하는 기능이 도움이 됩니다. 다만 화면에서 한 행동을 모두 담기 전에, 매번 같아야 하는 부분과 자료마다 달라지는 부분을 구분해야 합니다.

행 수가 다른 두 격자 표

짚고 가기

서식과 범위 구분

  • 매번 같은 서식을 정합니다
  • 달라지는 적용 범위를 적습니다
  • 빈칸 적용과 셀 누락을 살핍니다

예를 들어 제목 행의 색상은 같아도 데이터가 끝나는 행은 달라질 수 있습니다. 금액 열은 늘 같은 자리에 있어도 합계 행이 들어가는 자리는 바뀔 수 있습니다. 이 차이를 무시하고 기록하면 처음 준비한 자료에서는 자연스럽게 보여도 다음 자료에서는 빈칸까지 색이 들어가거나 필요한 셀이 빠지는 문제가 생깁니다. 자동화할 모양과 적용할 대상을 따로 적어 두는 이유입니다.

이 글의 절차는 엑셀의 매크로 기록 작업을 기준으로 설명합니다. 구글시트에도 매크로 기록 기능이 있지만 실행 환경과 생성되는 코드가 다릅니다. 한쪽에서 만든 내용을 다른 쪽에 그대로 옮겨 쓴다는 전제로 접근하지 않습니다. 같은 서식 규칙을 사용하더라도 각 환경에서 기록과 실행을 따로 확인하는 방식으로 진행합니다.

작업 전에는 원본을 남기고 연습용 복사본을 준비합니다. 복사본에는 제목과 데이터가 함께 들어 있어야 적용 결과를 구분하기 쉽습니다. 평소 쓰는 자료에 빈 행이나 병합 셀이 있다면 그 구조도 확인합니다. 예제 파일을 지나치게 깔끔하게 만들면 실제 자료에서 생길 문제를 살펴보기 어렵습니다.

전 과정을 한꺼번에 담는 첫 시도

처음에는 파일을 열어 정리를 끝낼 때까지의 동작을 모두 기록하려는 접근을 생각할 수 있습니다. 작업을 통째로 다시 실행하면 편리해 보이기 때문입니다. 하지만 탐색을 위해 누른 셀이나 임시로 입력한 값까지 기록 대상에 섞일 수 있습니다. 서식만 바꾸려던 작업에 내용 수정이 포함되면 다음 실행에서 자료 자체가 달라질 수 있습니다.

가령 제목을 다듬다가 오탈자를 발견해 셀 내용을 고친 뒤, 이어서 배경색을 지정하는 상황을 가정합니다. 이렇게 기록한 매크로에는 글자 수정과 색상 변경이 함께 들어갈 수 있습니다. 다음 달 제목이 달라져도 이전 문구가 들어가는 문제가 생기는지 확인해야 합니다. 반복하고 싶은 행동과 그날만 필요한 수정을 분리해야 하는 대목입니다.

같은 격자와 제목 행이 있는 종이 두 장

주의할 점

기록 전 확인할 점

  • 내용 수정은 따로 구분합니다
  • 완성할 모양을 먼저 정합니다
  • 결정한 서식만 기록합니다

기록을 시작하기 전에는 완성할 모양을 글로 정리합니다. 제목 행에는 어떤 색을 쓸지, 본문 글자는 어떻게 맞출지, 숫자에는 어떤 표시 형식을 적용할지 결정합니다. 기록 중에 여러 색을 눌러 보거나 열 너비를 계속 바꾸면 필요한 동작을 구분하기 어려워집니다. 모양을 고르는 과정은 먼저 끝내고 결정한 작업만 기록합니다.

파일을 저장하는 방식도 확인 대상입니다. 엑셀 매크로를 파일 안에 남기려면 매크로를 저장할 수 있는 파일 형식을 사용해야 합니다. 일반 통합 문서 형식으로 저장하면 매크로가 유지되지 않을 수 있습니다. 저장 안내가 나타나면 문구를 읽고 선택합니다. 기록한 기능이 어느 파일에 담겨 있는지도 함께 확인합니다.

기록할 동작을 줄이려면 매번 같은 서식과 자료마다 달라지는 수정을 먼저 구분합니다

서식만 짧게 나누는 두 번째 시도

다음 접근은 제목 서식과 본문 서식을 나눠 기록하는 방식입니다. 제목을 꾸미는 작업에는 제목에 필요한 변경만 담고, 금액 열의 표시 형식은 별도로 다룹니다. 한 기능이 맡는 범위가 작으면 결과가 어긋났을 때 어느 부분을 살펴볼지 찾기 쉽습니다. 기능 이름도 ‘제목서식’처럼 하는 일을 알 수 있게 붙입니다.

실행 전에 범위를 직접 선택할 계획인지, 정해진 셀에 늘 적용할 계획인지 먼저 결정합니다. 엑셀에서는 기록할 때의 참조 방식과 선택 동작에 따라 실행 대상이 달라질 수 있습니다. 현재 선택한 셀에서 시작하리라고 예상했는데 기록 당시의 셀로 이동할 수도 있습니다. 선택만 바꾸면 된다고 가정하지 않고 재실행으로 확인합니다.

  1. 복사본에서 서식을 적용할 대상과 변경 항목을 정합니다
  2. 매크로 기록을 시작하고 결정한 서식만 적용합니다
  3. 기록을 멈춘 뒤 서식이 다른 연습용 범위를 준비합니다
  4. 다시 실행해 적용 위치와 셀 내용의 변화를 확인합니다

확인할 때는 색이 예쁘게 들어갔는지만 보지 않습니다. 숫자가 문자로 바뀌었는지, 수식이 그대로 남아 있는지, 날짜가 의도한 방식으로 보이는지도 살펴봅니다. 표시 형식과 실제 셀 값은 구분해서 확인합니다. 화면에는 반올림된 숫자가 보여도 계산에 사용하는 값은 다를 수 있으므로, 필요한 셀은 수식 입력줄의 내용까지 확인합니다.

단축키 연결은 범위 확인을 마친 뒤에 결정합니다. 자주 사용하는 기존 조작과 겹치면 작업 중 뜻하지 않게 실행할 수 있습니다. 처음에는 기능 이름을 골라 실행하면서 결과를 확인하는 편이 관리하기 쉽습니다. 이름만 보고 대상을 알아보기 어렵다면 단축키를 붙이기 전에 이름과 사용 조건부터 정리합니다.

자료의 모양에 맞춰 적용하는 방식

제목과 열 구성이 늘 같은 문서라면 정해진 셀을 대상으로 기록하는 방식이 단순합니다. 반대로 자료의 길이가 매번 달라지면 기록 당시의 마지막 행을 그대로 사용하는지 살펴야 합니다. 대상 범위를 사용자가 선택하는 방식도 검토할 수 있지만, 실제로 선택한 범위에 작동하도록 기록되어 있는지 확인하는 절차가 필요합니다.

파란 제목 행과 폭이 다른 열들

이렇게

적용 방식 정하는 순서

  1. 제목과 열 구성을 확인합니다
  2. 자료 길이 변화를 살펴봅니다
  3. 작업에 맞는 기능을 검토합니다

서식 몇 가지만 다른 범위에 옮기면 되는 경우에는 서식 복사 기능으로 충분할 수 있습니다. 늘 같은 순서로 여러 서식을 적용해야 한다면 기록 기능을 검토합니다. 자료마다 열 구성이 바뀌거나 내용에 따라 다른 처리가 필요하다면 기록만으로 끝내기 어렵습니다. 이때는 입력 자료의 구조를 맞추거나 별도의 코드 수정을 검토하는 편이 적절합니다.

빈 행이 있는 자료와 없는 자료도 나눠 확인합니다. 현재 영역을 선택하는 동작이 들어 있다면 중간의 빈 행 때문에 예상과 다른 범위가 잡히는지 살펴봅니다. 병합 셀이나 숨긴 행이 섞인 경우에도 적용 결과를 따로 확인합니다. 화면에서 비슷하게 보이는 자료라도 선택 동작이 같게 작동한다는 전제는 두지 않습니다.

다시 실행했을 때의 변화도 확인합니다. 같은 배경색을 지정하는 동작과 행을 삽입하는 동작은 반복 실행의 결과가 다릅니다. 서식 정리를 위한 기능에 행 추가나 내용 삭제가 섞이면 실행할수록 문서 구조가 달라질 수 있습니다. 같은 복사본에 재실행해도 의도한 상태를 유지하는지 살펴보면 이런 차이를 발견하는 데 도움이 됩니다.

실행 결과는 셀의 모양과 함께 적용 범위와 값의 변화까지 확인합니다

다음 기록에서 줄여 나갈 부분

기능을 만든 뒤에는 사용 조건을 짧게 남깁니다. 어느 파일에서 실행하는지, 어떤 시트와 범위를 준비해야 하는지, 실행하면 무엇이 바뀌는지를 적습니다. ‘정리’처럼 범위가 넓은 설명보다 ‘선택한 금액 열의 숫자 표시 형식 변경’처럼 구체적인 설명이 좋습니다. 실제 작동과 설명이 일치하는지도 복사본에서 확인합니다.

시간이 줄었는지 판단하려면 비교 기준을 먼저 맞춥니다. 같은 자료와 같은 완성 상태를 기준으로 수작업과 기록 기능의 실행 과정을 각각 재는 방식입니다. 범위를 고르는 시간과 결과를 확인하는 시간도 포함합니다. 확인할 수 없는 절감 수치를 붙이기보다 기준을 정해 직접 측정합니다. 수정이 필요했던 항목도 함께 적으면 다음 개선 대상을 고르기 쉽습니다.

다음에 바꿀 대상으로는 반복되는 선택 동작이나 불필요한 이동을 먼저 살펴봅니다. 코드 수정이 익숙하지 않다면 짧은 기능을 다시 기록하는 방법부터 검토합니다. 여러 기능을 한꺼번에 합치기 전에는 각각의 적용 대상이 분명한지 확인합니다. 실행 횟수를 줄이는 것보다 자료가 달라져도 사용 조건을 판단할 수 있게 만드는 일이 먼저입니다.

반복 서식 작업은 작은 단위로 기록하고, 다른 모양의 자료에서도 확인하는 순서로 정리합니다. 범위가 고정된 작업부터 시작하면 결과를 비교하기 쉽습니다. 이후 자료의 길이나 열 구성이 바뀌는 부분을 따로 다룹니다. 엑셀·구글시트 자동화 실험에서는 이런 판단 과정을 기준으로 기록 기능이 맡을 작업과 사람이 확인할 작업을 구분합니다.

목록으로

이 글은 엑셀·구글시트 자동화 실험에서 발행했습니다. 인용·링크는 자유롭고, 본문·그림의 복제 게시는 삼가 주세요.