엑셀 매크로 & VBA 바이블 - ChatGPT 활용 매크로&VBA 학습법 수록, 모든 버전 사용 가능, 개정판 엑셀 바이블 시리즈
최준선 지음 / 한빛미디어 / 2023년 5월
평점 :
장바구니담기




퓨터 코딩의 기초가되는 쉬운 알고리즘 체험 학습 위주의 블록 프로그램부터 초등학교 방과 후 학습으로 가르치는 학교들이 많아졌다. 그리고 2025년 부터는 초중학교 정보 교과 수업 시수가 늘어나고, 2022 개정 교육과정으로 인해 코딩이 정식 필수 과목으로 올라갈 예정이다. 코딩은 말 그대로 컴퓨터 언어, 프로그래밍을 하는 소통 수단으로 이제는 어느정도 컴퓨터와도 상호작용을 하는 능력이 기본이 되어야 하는 사회로 진입했음을 의미한다. 이제는 디지털 문해력이라고 하는 코딩 기술이 필수가 된 것이다. 여러 코딩 업무 가운데에서도 직장에서 필수라 여겨지는 데이터 자동관리 프로그램인 엑셀 매크로 VBA에 대해 알아보자.



- 매크로 Macro : 엑셀에서 제공되는 가장 강력한 기능으로, 사용자가 원하는 결과를 엑셀에서 자동으로 얻을 수 있도록 여러 처리 작업을 하나의 실행 단위로 묶어 실행할 수 있는 기능

- VBA Visual Basic for Applications : 매크로를 개발하는 데 사용되는 프로그래밍 언어. VBA 는 다양한 예시 코드가 이미 공개되어 VBA를 이용해서 작업하는 것이 효과적이다.

데이터 Data 는 점점 더 업무의 중심이 되고 있다. 더 많은 데이터를 효율적으로 요약하고 분석할 수 있는 능력이 필요하다. 하지만 업무를 매번 수작업으로 처리하는 데는 한계가 있으므로 실무자는 자신이 수행하는 업무를 자동화할 필요가 있다. 이 때문에 최근에는 초등학생을 필두로 한 코딩 교육, 직장인의 경우 RPA Robotic Process Automation 와 같은 로보틱 처리 자동화 기술이나 파이썬을 활용한 엑셀 강의 등이 인기를 끌고 있다.



엑셀에는 매크로를 만들 수 있는 매크로 기록기를 제공하는데 이는 사용자의 동작을 기록하여 VBA를 학습하지 않고도 원하는 매크로를 기록해서 사용할 수 있도록 한다. 매크로 기록기는 항상 동일한 위치에 데이터가 존재하고 이를 반복적으로 처리하는 작업을 개발할 때 유용하다.

- 매크로 기록기 사용 방법

1) 매크로 이름 : 이름 입력 (중간 띄워쓰기나 특수문자의 사용은 제한)

2) 바로 가기 키 : 단축키를 이용해 매크로를 실행하는 [바로 가기 키] 를 지정함

Ctrl + 영문자로 지정 가능

3) 매크로 저장 위치 : 현재 통합 문서 / 새 통합 문서 / 개인용 매크로 통합 문서에 저장 가능

4) 설명 : 저장될 매크로에 대한 간략한 설명

매크로 기록기는 사용자의 동작을 하나씩 VBA 언어로 번역해서 별도의 모듈 Module 에 저장하게 된다.

- 엑셀의 개체 모델 Object Model

엑셀은 다양한 개체 Object 로 이루어져 있다. 엑셀 프로그램 Application 자체도 개체이며, 프로그램에서 사용할 수 있는 파일 Workbook, 워크시트 Worksheet, 셀 Range 도 모두 개체이다. 이런 개체가 어떻게 서로 연결되어 있는지를 표시하는 것이 개체 모델이다.

- Sub 프로시저

Sub 프로시즈는 사용자가 원하는 동작을 수행하는 프로시저로 매크로는 Sub 프로시저로 개발된다. Sub 프로시저는 하나 이상의 명령 줄로 구성되며, 순차적으로 명령을 실행하고 종료되는 단순한 구조를 가지게 된다.



- 판단문

프로시저는 입력된 코드를 위에서부터 아래로 순차 실행한다. 이때 특정 코드는 실행 여부를 판단해 동작을 할 수 있다. 이때 사용하는 구문을 판단문(조건문)이라고 하는데 VBA에서는 If 문과 Select Case 문을 제공한다. 프로그램에 제공되는 기능에는 사용자가 생략하는 많은 부분을 VBA가 자동으로 수집하고 판단하도록 되어 있다.

판단문의 다중 조건 처리시에는 연산자 And, Or, Not 연산자를 사용한다.

1) And 연산자 : 조건문에서 여러 조건이 모두 만족하는지 확인하기 위해 사용

2) Or 연산자 : 여러 개의 조건 중 하나라도 맞는 것이 있는지 확인할 때 사용

3) Not 연산자 : And, Or 연산자와는 달리 조건이 오른쪽에 하나만 사용되며, 해당 조건을 부정하는 역할

Select Case 문의 구문 : If 문은 판단해야 할 조건이 늘어나면 Elself 절을 사용하지만, 조건이 많아질 경우 코드가 복잡해지고 관리가 어려워지는 단점이 있다. 이때는 Select Case 문을 사용하게 되는데 이는 조건을 분기해 처리하는 방식이 효과적이기 때문에 EIself 절이나 Switch 함수를 대체하는 용도로 사용하면 좋다.

- 실행 속도에 영향을 끼치는 엑셀 옵션

프로시저의 처리 속도와 가장 밀접한 연관을 갖는 속성은 다음의 세 가지 요소

1) Calculation : 수식 재계산 여부를 결정

2) EnableEvents : 이벤트 감시를 작동시킬지 중단시킬지 여부를 결정

3) ScreenUpdating : 수정된 사항을 화면에 표시할지 여부를 결정



본 책은 다양한 예문을 활용하여 엑셀의 매크로를 설명하고 VBA 의 다양한 예시 코드를 사용하여 (한빛미디어 홈페이지 www.hanbit.co.kr 에서 다운 가능) 정해진 틀의 반복작업 혹은 특정한 조건에서의 자동화를 실행하는 프로그램 구성을 설명하고 있다. 1,000 페이지가 넘는 방대한 양 답게 엑셀 매크로의 사전이라 할만큼 방대한 양들을 품고 있다. 책이 컬러로 나왔다면 가독성이 더 좋지 않았을까라는 약간의 아쉬움이 들지만, 그랬다면 책의 단가 역시 큰 폭으로 상승되어야 하는 현실적인 고민이 있었으리라 생각된다. 이 책의 또 다른 장점은 엑셀의 모든 버전에서 사용할 수 있도록 안내되어 있다는 점이다. 엑셀 2010 부터 Microsoft 365 까지 다양한 버전을 모두 소화하기에 이 한권으로 매크로는 끝낼 수 있다.

또한 책을 읽다가 궁금하거나 실습을 진행하며 막히는 점에 대한 저자의 카페 <엑셀... 하루에 하나씩>과 유튜브 채널 <엑셀 마스터> 를 통해 해결할 수 있다는 점도 초보들에겐 큰 도움이 되리라 생각한다. 개인적으로 엑셀의 매크로와 VBA 까지 어느정도 컨트롤 하며 원하는 코드를 짜는 것이 엑셀 활용의 정점이라 생각한다. 많은 사람들이 단순하게 엑셀 매크로는 어려운 것이라 여기지만, 개인적으로 예제 명령어를 응용한 코드 작성과 VBA도 예제를 따라가며 연습하다보니 쉽게 원하는 자동화 프로그램을 만들 수 있어서 신기했다. 실무에 필요한 엑셀 매크로 코드와 예시들을 찾아가며 바로 업무에 적용하려는 분들에게 강력하게 권유할 수 있는 활용서라 생각한다.





댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo