자세히 보기

By J. D. Sartain

가장 잘 배웠다 싶을 한 가지··· 예제로 따라하는 액셀 매크로 기능

매크로 기능을 논하지 않고 엑셀을 설명하기란 불가능하다. 매크로는 일상적으로 수행하는 반복적 작업을 자동화함으로써 많은 시간과 노력을 절약해준다. 이 기능을 이용하기 위해 프로그래밍 지식이나 비주얼 베이직 어플리케이션(VBA, Visual Basic Application)을 익힐 필요도 물론 없다. 엑셀 2013 매크로 기능의 핵심은, 바로 직관성이다. 여기 일상적으로 사용하는 다섯 작업에 대한 매크로 기능 제작법을 소개한다.

매크로의 기초
본격적인 매크로 설명에 앞서 기본적인 제작법을 짚고 넘어가보자. 제작한 매크로의 저장은 개발도구 탭 하단의 ‘매크로 기록’ 메뉴를 통해 가능하다. 매크로 기록 대화창에 표시되는 설명들을 따라간 뒤 확인 버튼만 클릭하면, 더 이상의 과정을 필요치 않다.

매크로 이름 짓기–매크로 이름의 첫 글자는 기본적으로 문자여야하며, 이후에는 문자, 숫자, 밑줄(‘_’)을 조합해 구성할 수 있다. 기타 기호들은 허용되지 않는다.

단축키–CTRL+J와 CTRL+M이 이용 가능하다. 여타 단축키를 설정하고자 할 경우 거기에 부여되어있던 기존 기능에 덮어써지게 될 것이다.

위치 저장–매크로는 ‘현재 통합 문서’ 혹은 ‘새 통합 문서’에 저장이 가능하며 모두 해당 통합 문서에서만 동작한다. 모든 스프레드시트에서 제작한 매크로를 이용하고자 할 경우 ‘개인용 매크로 통합 문서(PMW, Personal Macro Workbo확인)’에 저장해야 한다.

설명–매크로에 대한 설명

매크로를 명명하고 저장하며 정의한다.


매크로는 반복 작업을 수행하는, 즉 그 목적이 다수의 서로 다른 스프레드시트에서의 이용에 있는 도구다. 따라서 당신은 (스프레드시트의 모든 행, 열 값이 동일한 경우가 아니라면) 셀 주소(C1, D5 등)를 하드-코딩(hard-coding)할 수 없다. 유사한 데이터가 기록된 모든 스프레드시트에서 매크로가 기능하도록 하려면 그 시작점이 항상 A1인 적절한 방향키가 필요하다.

불러온 데이터의 정렬, 포맷, 정렬
대개 외부 프로그램에서 불러온 데이터는 탭 혹은 콤마로 분리된(TSV, CSV) 경우가 많다. 이러한 데이터가 매 달 수십 건씩 수집되는 상황이다. 당신에게 이것들을 정리하고, 필요치 않은 데이터를 제거한 뒤 다시 기업명에 따라 정렬하는 업무가 주어진다고 상상해보자. 아마 몇 시간은 금방 지나버릴 것이다. 하지만 매크로를 활용하면, 몇 초 안에 모든 과정을 마무리할 수 있다.

CSV 워크시트를 연 뒤, 위에 소개된 매크로 명명, 설명, 저장 과정을 따라보자. 다음으로 아래의 내용을 입력하면 된다.

1. CTRL+Home 키를 눌러 커서를 A1 셀로 옮기자. CTRL 키에서는 손을 때지 말고 삭제하길 원하는 행 문자들(B에서 N을 지나 R까지)을 클릭하고, ‘홈>삭제>시트 행 삭제’를 선택하라.

먼저 원하지 않는 칼럼을 지운다.


2. CTRL 키를 누른 상태에서 A, D 행을 클릭하라. ‘홈>서식>열 너비 >42>확인’를 클릭하고 다음으로 CTRL 키를 누른 상태에서 B, C 행을 클릭하고 ‘홈>서식>열 너비>25>확인’를 클릭하라.

3. CTRL+Home 키를 누른 다음 CTRL+A 키를 눌러 스프레드 시트 전체를 선택하라.


회사 이름으로 정렬한다.


4. ‘개발도구>기록 중지’를 클릭하면 과정은 끝난다. 워크시트를 엑셀 파일로 저장하고 CSV 파일을 다시 열어 ‘개발도구>매크로’를 선택해 목록 상의 브랜치CSV(BranchCSV)를 실행해보라. 즉시 모든 워크시트가 정렬될 것이다.


CSV 파일을 다시 열고 매크로를 실행시킨다.


단일 행 내 이름을 두 행으로 나누기
무수한 인물 목록을 받아 그들의 이름을 성과 분리하는 작업은 수많은 사용자들을 괴롭혀온 귀찮은 과정이다. 하지만 이번에 소개할 매크로를 적용해본다면 이 과정을 즉각적으로 진행할 수 있다. 뿐만 아니라 목록을 분류하고 행 폭을 조정하는, 그리고 전체 목록 수를 세는 모든 작업이 가능해진다. 이름 워크시트를 연 뒤 매크로 이름과 설명을 작성하고 아래의 절차를 따라가보자.

1. CTRL+Home, CTRL+A를 누르고 ‘데이터>텍스트’를 선택하라. 첫 번째 마법사 대화창에서 ‘구분 기호로 분리됨>다음’을 클릭하고 두 번째 박스에서 텍스트의 범위를 정하는(분리하는) 문자를 선택해보라. 우리의 예시처럼 공백으로 분리되는 경우라면 ‘공백’을 체크하고 ‘다음’을 클릭하면 된다. 마지막 박스에서 ‘텍스트>마침’을 클릭하라.


성과 이름을 분리하기 위해 텍스트 영역을 선택한다.


2. CTRL+Home, CTRL+A를 누르고 ‘홈>정렬 및 필터>사용자 지정 정렬’를 선택하라. 정렬 대화창의 ‘정렬 기준’에서 열 B를 선택하고 기준 추가를 클릭한 뒤 ‘다음 기준’영역에는 열 A를, ‘정렬 기준’과 ‘정렬’에는 각각 ‘값’과 ‘오름차순’을 지정하고 확인을 클릭하라.


2단계로 정렬한다. ‘성’과 ‘이름’이다.


3. CTRL+Home을 누르고 Shift+오른쪽 방향키를 누르면 A1과 B1 셀이 강조된다. ‘서식>열 너비>15>확인’를 클릭해보자.

4. CTRL+Home을 누르고 ‘홈>시트 열 삽입’을 두 번 선택하라. A1 셀에 ‘전체 이름’이라고 입력하고 오른쪽 방향키를 이용해 B1 셀로 이동해 ‘=COUNTA’ 입력어를 삽입하면(그리고 CTRL+아래쪽 방향키, End, Shift+아래쪽 방향키, Enter, CTRL+Home을 클릭하면) 총 숫자가 표기된다.


목록의 이름을 세기 위해 공식을 입력한다. 이후 매크로를 실행한다.


5. 기록을 중지하고 워크시트를 Names2로 저장한 뒤, Names 파일을 다시 열어 매크로를 실행하라.


행 나누기와 미들 네임을 위한 조정
모든 이름이 성과 이름으로 이뤄진 목록의 경우에는 그것을 두 행으로 나누는 과정에 문제가 없다. 하지만 일부가 미들 네임(middle name)을 가지고 있는 경우라면?

이번에 소개할 기능은 이렇게 중간에 들어가는 미들 네임 혹은 이니셜을 분리하고 그것을 다시 이름과 결합해 결과적으로 이름+미들 네임으로 이뤄진 한 행과 성으로 이뤄진 둘째 행을 구성하는 매크로다. 이름이 세 부분으로 구성된 파일을 열고 매크로명과 설명을 작성한 뒤 아래의 단계를 따라보자.

1. CTRL+Home, CTRL+A를 입력하고 ‘데이터>텍스트’를 선택하라. 마법사 박스에서 ‘구분 기호로 분리됨> 다음, 공백>다음, 텍스트> 마침’을 클릭하면, 하나의 행을 셋으로 나눌 수 있다.

2. 한 번 더 CTRL+Home, CTRL+A를 누르고 ‘홈> 정렬 및 필터>사용자 지정 정렬 >열 C’를 선택한 뒤, Shift+오른쪽 방향키를 누르라. 다음으로 ‘서식>열 너비>15>확인’를 클릭하라.

3. CTRL+Home 키를 누르고 오른쪽 방향키를 두 번 누르자. ‘End’를 한 번 클릭하고 아래쪽 방향키를 두 번, 오른쪽 방향키를 한 번 입력하면 커서를 C 행의 첫 빈 셀로, 이어서 인접한 D 행의 셀로 이동할 수 있다. ‘STOP’을 타이핑하고 위쪽 방향키, End, 위쪽 방향키를 입력하라. ‘=A1&” “&B1’ 입력어를 삽입하고 Enter키와 위쪽 방향키를 누르자.


탐색을 위해 방향기를 이용한다. 이제 매크로는 모든 유사한 워크시트에서 동작한다.


4. CTRL+C, 아래쪽 방향키를 누르고 Shift를 누른 상태에서 End, 아래쪽 방향키, 위쪽 방향키, Enter를 누르라(입력어 복사). 위쪽 방향키를 한 번 누른 뒤 Shift를 누르고 End, 아래쪽 방향키, 위쪽 방향키를 누르라(STOP 영역을 제외한 나머지를 강조한다).

5. CTRL+C, CTRL+Home을 입력하고 ‘붙여넣기>선택하여 붙여넣기>값>확인’를 선택하라. 나가기, CTRL+Home을 각각 한 차례, 오른쪽 방향키를 두 차례 누르고 Shift를 누른 상태에서 End, 아래쪽 방향키, CTRL+C, 왼쪽 방향키, Enter를 입력해 성들을 복사하라. 오른쪽 방향키, Shift+오른쪽 방향키를 입력하라.


공식을 복사하고 붙여넣기한다. 그리 나머지 칼럼을 제거한다.


6. ‘삭제>시트 행 삭제’를 선택하고 CTRL+Home을 누르라. 기록을 중지하고 워크시트를 3Names2로 저장한 뒤 3Names2를 다시 열어 매크로를 실행하라.

텍스트 반복
하루에 열 번씩 같은 정보를 타이핑하다 보면 매크로의 필요성이 절실해지지 않을 수 없다. 아무리 간단한 정보라도 매크로를 이용해본다면 더욱 빠르고 정확하게 입력이 가능해질 것이다. 워크시트 상단에 기업명이나 날짜를 추가하는데 특히 유용할 것이다. 새 워크시트를 열어 매크로 이름과 설명을 작성한 뒤 아래의 절차를 따라보자.

1. CTRL+Home을 입력한 뒤 Shift를 누른 상태에서 오른쪽 방향키를 두 번 눌러보라. 홈을 선택하고 맞춤 그룹에서 ‘병합하고 가운데 맞춤’을 선택하라. A1 셀에 ‘=TODAY()’ 입력어를 삽입한 뒤 Enter, 위쪽 방향키를 누르라. ‘홈>서식>셀 서식>날짜’를 선택해 목록에서 날짜 서식을 고르고 확인을 클릭하라. 아래쪽 방향키를 두 번 눌러보자.

2. 각 줄의 말미에 반복되는 정보를 입력하고 Enter를 클릭하라. 아래쪽 방향키를 누르고 ‘개발도구>기록 중지’를 선택하라. 모든 데이터를 지우고 A1에서 A3까지의 셀을 분할한 다음 매크로를 실행하고 워크시트를 저장하라.


반복적 타이핑을 없애기 위해 현재 데이터에서 헤더 매크로를 생성한다.


빈 열 삭제
군데군데 비어있는 열은 워크시트의 관리와 분류, 계산을 방해하는 장애물이다. 문제를 해결하는 첫 번째 단계는 스프레드시트 데이터만을 강조하도록 매크로를 지시하고, 이어 빈 열을 선택, 삭제하는 것이다. 이 과정을 거친 뒤에는 데이터 관리가 한결 용이해질 것이다.

빈 열이 포함된 파일을 열고 매크로 이름과 설명을 작성한 뒤 아래의 단계를 따라보자.

1. CTRL+Home을 누르라. 여기에서 기억해야 할 사항은, 본래 CTRL+A 단축키는 스프레드시트 내에 빈 열이 있을 경우 모든 데이터를 선택하지 않지만, 이 매크로는 그러하다는 점이다.

2. ‘홈>삽입>시트 행 삽입’을 선택하라. End, 아래쪽 방향키, 오른쪽 방향키, End, 위쪽 방향키를 입력하고 이어서 CTRL+Shift+Home, Shift+오른쪽 방향키, CTRL+Shift+오른쪽 방향키를 입력하면 데이터 범위가 정확하게 선택될 것이다.


빈 열을 제거한다.


3. ‘홈>찾기 및 선택>이동>옵션’을 선택하고(또는 CTRL+G, Alt+S를 입력하고) ‘빈 셀>확인’를 클릭하면 모든 빈 열이 회색으로 강조되고, ‘삭제>셀 삭제>셀을 위로 밀기>확인’를 선택하면 이것들은 사라진다. CTRL+Home을 입력하고 ‘삭제>시트 행 삭제’를 선택하면 셀 주소의 하드코딩 없이도 스프레드시트를 강조하기 위해 삽입한 여분 행들을 삭제할 수 있다.

4. 기록을 중지하고, 모든 단계를 되돌린 후 매크로를 실행한 뒤 워크시트를 저장하라. dl-ciokorea@foundryco.com