Offcanvas

How To / 애플리케이션

오피스의 마법! 예제로 살펴보는 매크로 작성 팁 5가지

2015.03.24 JD Sartain  |  PCWorld
매크로(Macro)는 시간을 소모하는 반복적인 작업을 자동화하는 마법 같은 기능이다. 시간은 물론 에너지까지 ‘감동스러운 수준’으로 절약시켜준다. 여기 매크로를 활용하기 위한 기본적인 팁을 정리했다. 엑셀(Excel)을 기준으로 하지만 다른 오피스 애플리케이션에도 적용할 수 있는 것들이다.



1. 상대 셀 참조(Relative Cell Reference)를 사용하라
특정 스프레드시트(Spreadsheet)에서 특정 애플리케이션만을 위해 매크로를 작성하는 것이 아니라면 항상 상대 셀 참조/주소(기본값은 절대(Absolut) 참조)를 사용하자.

다른 스프레드시트에서 매크로를 다시 사용할 생각이거나 추가 기록을 위해 줄을 삽입하는 등의 조정이 필요하다면 매크로 기록(Record Macro)를 누른 후에 (키를 입력하기 전에) 바로 상대 참조 버튼을 클릭해야 한다. 세부적인 내용은 엑셀 매크로 팁에 관한 기사를 참조하자.

2. 방향키를 통해 특정 VBA 코드를 사용하라
항상 방향키를 이용해 스프레드 시트를 탐색하자. 엑셀에서는 홈(Home), 엔드(End), 페이지업(Page Up), 페이지다운(Page Down) 그리고 위(Up), 아래(Down), 오른쪽(Right), 왼쪽(Left) 등 4개의 방향키를 사용할 수 있다. Shift, Alt, Ctrl 등과 함께 사용하면 작업 중 스프레드 시트 안에서 매크로로 커서를 신속하게 이동할 수 있다.

이때 방향키를 (단축키와 마찬가지로) 정확히 입력하지 않으면 매크로가 실패하게 된다. 예를 들어, 대시(-)키와 플러스(+) 키를 혼동해서는 안 된다. 대시를 지정됐다면, 예를 들어 ‘End-Down’의 경우라면 End 키를 먼저 눌렀다가 뗀 후에 Down 방향키를 눌러야 한다. 플러스 기호가 지정됐다면(Ctrl+Home) Ctrl 키를 누르고 있는 상태에서 Home 키를 누르고 두 키에서 동시에 손을 떼야 한다.

참고로 매크로 코드는 VBA(Visual Basic for Applications) 편집기에 표시되고 개발자(Developer) 탭 아래의 코드(Code) 그룹을 통해 접근할 수 있다. 매크로(Macros) > 수정(Edit) 또는 매크로(Macros) > 보기(Step Into)를 선택한다. 엑셀이 대신 작성하는 VBA 코드는 이렇게 생겼다:

매크로 비주얼 베이직 코드 샘플



매크로를 많이 작성하려는 경우, VBA 편집기에서 자신의 매크로를 보면서 비주얼 베이직(Visual Basic)이 자신이 기록한 명령을 어떻게 작성하는지 보는 것도 좋다. 프로그래머 같은 고급 기술 없이도 간단한 수정은 얼마든지 가능하다.

3. 유연한 매크로를 작성하라
방향키를 이용해 유연한 매크로를 기록한다. 매크로가 정확히 동작하도록 하려면 데이터는 항상 셀 A1(홈 위치)에서 시작하고 매크로는 Ctrl+Home부터 시작해야 한다.

이 예제의 상황은 다음과 같다.

TJ가 연례 모노폴리(Monopoly) 대회 중 각 게임의 승자(7 일 동안 하루 6게임 또는 42게임/승자)가 따거나 잃은 돈을 추적해야 한다.

그녀는 승자 1인을 위해 매크로를 적용한 스프레드시트를 작성한 후에 (PERSONAL.SLXB! 파일로 저장) 시트를 (동일한 워크북(Workbook) 내에) 41번만 복사하면 된다. 각 승자의 페이먼트 횟수만 변경하면 작업이 완료된다.

a. 현재 스프레드 시트의 워크시트 탭을 우 클릭한다.

b. 드롭다운 목록에서 이동(Move) 또는 시트 복사(Copy Sheet)를 선택한다.

c. 선택한 시트 북으로 옮기기(Move Selected Sheets To Book) 대화상자에서 스프레드시트 목록으로부터 선택하고 (끝으로 이동) 사본 생성(Create a Copy) 상자를 체크 표시한 후 OK를 클릭한다.

d. 첫 번째로 작성한 스프레드시트의 사본을 41개 생성할 때까지 작업을 반복한다.

매크로를 기록한 이후, 스프레드시트를 41번 복사한다.


4. 고정 값/데이터를 미리 입력하라
위의 예제는 모노폴리 게임에서 자산당 지불한 총 임대비를 계산한 후에 자산당 추심한 임대비를 계산하는 것이다. 차이를 계산한 후, 손익(Profit/Loss) 합계를 제공하게 된다. 이 예제는 커서를 조작하여 범위와 셀을 선택하고 수식을 입력하는 방법을 나타내고 있다.

a. 2 개의 열/입력란만 고유/변경 데이터가 있다. A 열 = 속성명, B 열 = 임대료. 둘 다 고정 값이다. 나머지 열은 수식 또는 새로운 값이다. A와 B 열에 미리 정보를 입력한다.

b. 첫 번째 게임의 승자는 KC이다. C 열에 그녀가 각 자산당 지불한 횟수를 입력하고 E 열에 추심한 횟수를 입력한다. 이제 매크로를 기록하여 횟수를 계산한다.

5. 방향키로 탐색하라
a. 매크로를 기록한다: Ctrl+Home, Right 3 (오른쪽 방향키를 세 번 누른다). 수식: =SUM(B1*C1). 하지만 수식 열 D: 총 지불 임대료(Total Rent Paid) 그리고 F: 총 추심 임대료(Total Rent Collected)가 B 열의 임대료를 사용하기 때문에 먼저 수정해야 한다. 수식을 복사한 후 다시 입력하는 것이 쉽기 때문에 절대/상대 참조 기능키 F4를 이용해 이 수식에 B(절대)를 하드코딩하여 복사할 때도 절대로 변경되지 않도록 한다.

수식: 셀 D1 입력: =SUM(B1 [그리고 F4 세 번 누르기] *C1) Enter (키). 이제 수식은 다음과 같다: =SUM($B1*C1). Enter 그리고 Up 을 누른다.

왜 Up 방향키냐고? Enter 를 누르면 커서가 (D1에서 D2로) 아래로 한 번 이동하며 수식을 D1으로부터 복사해야 하기 때문이다.

F4를 이용해 수식을 유지하고 총액을 계산한다.


b. 수식을 복사한다: 커서 위치는 D1이다. Ctrl+C (copy), Left, End-Down 그리고 Right, Shift+End-Up-Down, Enter를 입력한다. 우와! 헷갈린다. Shift 키를 누른 상태로 계속 유지해야 한다. 즉, Shift키를 누른 상태로 End 키를 눌렀다고 떼고 Up 화살표를 눌렀다가 떼고 Down 화살표를 눌렀다가 뗀 후, Shift 키에서 손을 뗀다. Shift 키를 누른 상태로 범위를 선택한 후 Enter 키를 누르면 수식이 복사된다. 범위가 여전히 선택되어 있기 때문에 End-Up을 누른다 (커서가 셀 D1으로 이동).

c. 다시 복사한다: (커서가 D1에 위치), Shift+End-Down, Ctrl+C, Right 2, Enter, End-Up를 누른다. 수식이 복사되고 커서는 셀 F1으로 이동한다.

d. 차이를 계산한다: Right, 그리고 수식을 입력한다: =SUM(F1-D1) [F1 빼기 D1]. Enter를 누른다. 다시 Ctrl+C, Left, End-Down 그리고 Right, Shift+End-Up-Down, Enter, Down을 입력한다.

참고: 이 수식에서는 편의성과 간결성을 위해 수식을 하드코딩했다. 스프레드시트 전체가 동적이라면 수식을 하드코딩하는 대신에 아래와 같이 범위를 "지정"한다.

e. 이제 커서는 G 열에서 계산한 수식 아래의 첫 번째 빈 셀에 위치하고 있다. 이 열에 매크로 최고의 기능인 "지정" 기법을 이용해 KC의 총액을 추가한다. =SUM( [= 합계 왼쪽 괄호], Up, End, Up, Shift+End-Down, Enter를 입력한다. 총액이 계산되고 매크로가 종료된다. ciokr@idg.co.kr 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.