2015.02.25

엑셀 매크로 활용을 위한 5가지 필수 팁

JD Sartain | PCWorld
엑셀의 매크로(Macro)를 이용하면 반복 작업을 자동화하여 시간을 절약하고 문제를 줄일 수 있다. 그리고 매크로를 작성하기 위해 프로그래머가 되거나 VBA(Visual Basic Application)에 관해 알 필요도 없다. 엑셀 2013에서는 키 입력을 기록하듯이 간단하게 해결할 수 있다. 간단한 매크로 기록 방법에 관해 알아보도록 하자.

1. 매크로의 이름
매크로의 이름을 짧게(하지만 알아볼 수 있게) 유지하면 매크로 대화상자에서 손쉽게 찾을 수 있고, 매크로가 많을 때는 더욱 유용하다. 또한 모든 사람이 활용하고 있는 것은 아니지만 시스템에서는 설명 입력란도 제공된다.

매크로의 이름은 반드시 문자로 시작해야 하며 공백, 기호, 구두점을 포함할 수 없다. 첫 번째 문자 이후에 문자, 숫자, 밑줄 표시 등을 추가할 수 있지만, 최대 80 글자로 제한된다.

2. 상대참초를 이용한다
절대적이라는 것은 정확한 셀 위치가 매크로에 기록되어 있다는 뜻이다. 즉, A6 또는 B12처럼 셀 주소가 하드코딩되어 있어 변경사항이 발생하거나 새로운 데이터가 추가/삭제되거나 목록이 길어지면 매크로의 동작 기능이 제한을 받는다. 상대적이라는 것은 매크로에 기록된 키 입력이 시작 셀의 위치에 대하여 상대적이라는 뜻이다.

엑셀에서 기본은 절대 참조로 설정되어 있지만 상대 참조로 변경할 수 있다

 개발 도구 > 매크로 기록을 클릭한다.
1. 매크로 기록 대화상자에 매크로의 이름과 (필요하다면) 단축키를 입력한다. 매크로 저장 위치에서 개인용 매크로 통합 문서를 선택하고, (필요하다면) 설명란에 내용을 입력하고 확인을 클릭한다.

2. 대화상자가 사라지고 매크로 기록 버튼이 기록 중지 버튼으로 변경된다. 그리고 상대 참조로 기록 버튼을 클릭하면 진한 녹색으로 표시되면서 활성화된다.

3. 키입력, 수식 등을 입력한 후, 기록 정지 버튼을 누르고 매크로를 동작해 보자.


상대 참조를 이용한 매크로 기록

3. 항상 홈(A1)에서 시작하기
절대 참조 매크로의 경우, 커서와 데이터가 항상 홈 위치(셀 A1)에서 시작된다. 매크로를 개인용 매크로 통합 문서에 저장한 경우, 이 매크로를 데이터가 유사한 다른 워크시트에서 다시 사용할 수 있다. 매크로 기록을 시작할 때는 커서의 위치에 상관 없이 커서가 이미 셀 A1에 위치하고 있다 하더라도 먼저 Ctrl+Home 을 눌러야 한다.

예시: 매 월 지사에서 수십 개의 스프레드 시트가 유입되며 이것들을 조합하고 정리하며 계산하여 하나의 월간 보고서를 작성해야 한다고 가정해 보자. 모든 통합 문서를 열고 하나의 종합 통합 문서로 종합하는 것을 포함해, 이 모든 기능을 수행하는 매크로를 작성할 수 있다. 이를 위해, 종합된 데이터를 이용해 최종 통합 문서를 처리해 보자.

1. 엑셀에서 새로운 통합문서(4월 보고서)를 생성한다. 커서가 자동으로 홈 위치(A1)에 위치하고 있다. 제목, 필드 헤더(Header) 등을 위해 커서를 이동하지 않는다. 반드시 A1에 위치하고 있어야 한다.

2. 첫 번째 통합문서를 열고 스프레드 시트의 데이터 전체(열 헤더 제외)를 4월 보고서 스프레드시트의 셀 A1으로 복사한다. 데이터가 A1에서 시작하여 G55 에서 끝난다.

3. 두 번째 통합문서를 열고 스프레드 시트의 데이터 전체(열 헤더 제외)를 4월 보고서 스프레드시트의 셀 A56으로 복사한다. 모든 통합시트의 데이터를 4월 보고서 스프레드시트로 복사할 때까지 이 작업을 반복한다.

4. 다른 스프레드시트의 데이터에 수식이 포함되어 있는 경우, 붙여 넣기 옵션에서 붙여 넣기 > 특수 > 값을 선택한다. 수식 또는 형식을 복사하지 않는다.

5. 이 때, 시트의 제목, 열 헤더, 서식(열 폭, 폰트 등) 등은 신경 쓰지 않는다. 데이터만 복사하고 매크로를 실행한다.

6. 데이터를 계산한 후, 행 삽입으로 열 헤더, 스프레드시트 제목 등의 정보를 추가할 수 있다. 그리고 나서 원하는 대로 열 폭을 설정하거나 폰트를 변경하거나 속성을 추가하거나 경계선 또는 상자를 넣을 수 있다. (또한 서식 작업을 수행하는 추가적인 매크로를 생성할 수도 있다).

4. 항상 지향성 키로 이동한다
지향성 키(End-Down, Ctrl+Up 등)를 이용해 커서의 위치를 설정하여 필요에 따라 스프레드시트 안에 위치하고 있는 데이터를 추가, 변경, 삭제할 수 있다.

마우스를 이용하면 더 복잡할 뿐 아니라 신뢰성도 떨어진다. 매크로의 경우, 마우스는 메뉴 옵션을 선택하거나 클릭할 때만 사용한다.

5. 매크로를 작고 구체적으로 유지한다
매크로를 작고 작업에 맞추어 구체적으로 유지한다. 매크로가 커지면 실행 속도가 떨어지며, 특히 대형 스프레드시트에서 여러 기능을 수행하거나 많은 수식을 계산할 때는 더욱 그렇다. 또한 모든 작업을 하나의 긴 매크로로 조합했다가 실패하게 되면 문제점을 찾는데 너무 긴 시간이 소요된다. 각 매크로를 분리하여 실행하면 결과를 신속하게 확인하고 정확성을 검증할 수 있다.


F8을 이용해 엑셀의 매크로를 살펴보자.

예를 들어, 4월 보고서에서 계산 매크로를 서식 매크로와 조합하지 않는다. 하나의 매크로를 이용해 모든 지사의 통합문서를 하나의 최종 스프레드시트로 조합하고, 두 번째 매크로로 데이터를 계산하며, 세 번째 매크로로 스프레드시트의 서식을 설정하고, 네 번째 매크로로 차트를 생성하며, 다섯 번째 매크로로 인쇄를 수행할 수 있다.

매크로가 실패하면, 한 번에 한 줄씩 살펴보면서 문제를 해결할 수 있다. F8 키를 이용해 마치 슬로우 모션처럼 매번 다음 이벤트를 제어할 수 있다. 개발자 > 매크로를 클릭하고 목록에서 매크로를 선택한 후, 한 단계씩 코드 실행 버튼을 클릭한다. 코드 창을 축소하여 화면의 우측 하단에 위치시키면 그 뒤의 스프레드시트를 확인할 수 있다. 매크로가 다음 단계로 진행하도록 하려면 F8을 누른다. 오류에 도달하면 매크로가 정지한다. 그러면 오류를 수정하거나 새로운 매크로를 기록하면 된다. editor@itworld.co.kr


2015.02.25

엑셀 매크로 활용을 위한 5가지 필수 팁

JD Sartain | PCWorld
엑셀의 매크로(Macro)를 이용하면 반복 작업을 자동화하여 시간을 절약하고 문제를 줄일 수 있다. 그리고 매크로를 작성하기 위해 프로그래머가 되거나 VBA(Visual Basic Application)에 관해 알 필요도 없다. 엑셀 2013에서는 키 입력을 기록하듯이 간단하게 해결할 수 있다. 간단한 매크로 기록 방법에 관해 알아보도록 하자.

1. 매크로의 이름
매크로의 이름을 짧게(하지만 알아볼 수 있게) 유지하면 매크로 대화상자에서 손쉽게 찾을 수 있고, 매크로가 많을 때는 더욱 유용하다. 또한 모든 사람이 활용하고 있는 것은 아니지만 시스템에서는 설명 입력란도 제공된다.

매크로의 이름은 반드시 문자로 시작해야 하며 공백, 기호, 구두점을 포함할 수 없다. 첫 번째 문자 이후에 문자, 숫자, 밑줄 표시 등을 추가할 수 있지만, 최대 80 글자로 제한된다.

2. 상대참초를 이용한다
절대적이라는 것은 정확한 셀 위치가 매크로에 기록되어 있다는 뜻이다. 즉, A6 또는 B12처럼 셀 주소가 하드코딩되어 있어 변경사항이 발생하거나 새로운 데이터가 추가/삭제되거나 목록이 길어지면 매크로의 동작 기능이 제한을 받는다. 상대적이라는 것은 매크로에 기록된 키 입력이 시작 셀의 위치에 대하여 상대적이라는 뜻이다.

엑셀에서 기본은 절대 참조로 설정되어 있지만 상대 참조로 변경할 수 있다

 개발 도구 > 매크로 기록을 클릭한다.
1. 매크로 기록 대화상자에 매크로의 이름과 (필요하다면) 단축키를 입력한다. 매크로 저장 위치에서 개인용 매크로 통합 문서를 선택하고, (필요하다면) 설명란에 내용을 입력하고 확인을 클릭한다.

2. 대화상자가 사라지고 매크로 기록 버튼이 기록 중지 버튼으로 변경된다. 그리고 상대 참조로 기록 버튼을 클릭하면 진한 녹색으로 표시되면서 활성화된다.

3. 키입력, 수식 등을 입력한 후, 기록 정지 버튼을 누르고 매크로를 동작해 보자.


상대 참조를 이용한 매크로 기록

3. 항상 홈(A1)에서 시작하기
절대 참조 매크로의 경우, 커서와 데이터가 항상 홈 위치(셀 A1)에서 시작된다. 매크로를 개인용 매크로 통합 문서에 저장한 경우, 이 매크로를 데이터가 유사한 다른 워크시트에서 다시 사용할 수 있다. 매크로 기록을 시작할 때는 커서의 위치에 상관 없이 커서가 이미 셀 A1에 위치하고 있다 하더라도 먼저 Ctrl+Home 을 눌러야 한다.

예시: 매 월 지사에서 수십 개의 스프레드 시트가 유입되며 이것들을 조합하고 정리하며 계산하여 하나의 월간 보고서를 작성해야 한다고 가정해 보자. 모든 통합 문서를 열고 하나의 종합 통합 문서로 종합하는 것을 포함해, 이 모든 기능을 수행하는 매크로를 작성할 수 있다. 이를 위해, 종합된 데이터를 이용해 최종 통합 문서를 처리해 보자.

1. 엑셀에서 새로운 통합문서(4월 보고서)를 생성한다. 커서가 자동으로 홈 위치(A1)에 위치하고 있다. 제목, 필드 헤더(Header) 등을 위해 커서를 이동하지 않는다. 반드시 A1에 위치하고 있어야 한다.

2. 첫 번째 통합문서를 열고 스프레드 시트의 데이터 전체(열 헤더 제외)를 4월 보고서 스프레드시트의 셀 A1으로 복사한다. 데이터가 A1에서 시작하여 G55 에서 끝난다.

3. 두 번째 통합문서를 열고 스프레드 시트의 데이터 전체(열 헤더 제외)를 4월 보고서 스프레드시트의 셀 A56으로 복사한다. 모든 통합시트의 데이터를 4월 보고서 스프레드시트로 복사할 때까지 이 작업을 반복한다.

4. 다른 스프레드시트의 데이터에 수식이 포함되어 있는 경우, 붙여 넣기 옵션에서 붙여 넣기 > 특수 > 값을 선택한다. 수식 또는 형식을 복사하지 않는다.

5. 이 때, 시트의 제목, 열 헤더, 서식(열 폭, 폰트 등) 등은 신경 쓰지 않는다. 데이터만 복사하고 매크로를 실행한다.

6. 데이터를 계산한 후, 행 삽입으로 열 헤더, 스프레드시트 제목 등의 정보를 추가할 수 있다. 그리고 나서 원하는 대로 열 폭을 설정하거나 폰트를 변경하거나 속성을 추가하거나 경계선 또는 상자를 넣을 수 있다. (또한 서식 작업을 수행하는 추가적인 매크로를 생성할 수도 있다).

4. 항상 지향성 키로 이동한다
지향성 키(End-Down, Ctrl+Up 등)를 이용해 커서의 위치를 설정하여 필요에 따라 스프레드시트 안에 위치하고 있는 데이터를 추가, 변경, 삭제할 수 있다.

마우스를 이용하면 더 복잡할 뿐 아니라 신뢰성도 떨어진다. 매크로의 경우, 마우스는 메뉴 옵션을 선택하거나 클릭할 때만 사용한다.

5. 매크로를 작고 구체적으로 유지한다
매크로를 작고 작업에 맞추어 구체적으로 유지한다. 매크로가 커지면 실행 속도가 떨어지며, 특히 대형 스프레드시트에서 여러 기능을 수행하거나 많은 수식을 계산할 때는 더욱 그렇다. 또한 모든 작업을 하나의 긴 매크로로 조합했다가 실패하게 되면 문제점을 찾는데 너무 긴 시간이 소요된다. 각 매크로를 분리하여 실행하면 결과를 신속하게 확인하고 정확성을 검증할 수 있다.


F8을 이용해 엑셀의 매크로를 살펴보자.

예를 들어, 4월 보고서에서 계산 매크로를 서식 매크로와 조합하지 않는다. 하나의 매크로를 이용해 모든 지사의 통합문서를 하나의 최종 스프레드시트로 조합하고, 두 번째 매크로로 데이터를 계산하며, 세 번째 매크로로 스프레드시트의 서식을 설정하고, 네 번째 매크로로 차트를 생성하며, 다섯 번째 매크로로 인쇄를 수행할 수 있다.

매크로가 실패하면, 한 번에 한 줄씩 살펴보면서 문제를 해결할 수 있다. F8 키를 이용해 마치 슬로우 모션처럼 매번 다음 이벤트를 제어할 수 있다. 개발자 > 매크로를 클릭하고 목록에서 매크로를 선택한 후, 한 단계씩 코드 실행 버튼을 클릭한다. 코드 창을 축소하여 화면의 우측 하단에 위치시키면 그 뒤의 스프레드시트를 확인할 수 있다. 매크로가 다음 단계로 진행하도록 하려면 F8을 누른다. 오류에 도달하면 매크로가 정지한다. 그러면 오류를 수정하거나 새로운 매크로를 기록하면 된다. editor@itworld.co.kr


X