본문 바로가기
■ 칼퇴를 위한 VBA : 사례

VBA, 꼭 필요한가

by 포탈메이커 2022. 12. 21.

1. 이렇게까지 할 필요가 있나

결론부터 말하면 본인이 맡고 있는 일의 성격에 따라 다르다고 말하고 싶다.

 

VBA를 매크로라고 이해하는게 정확할 순 없지만, 현업에서는 매크로의 형태로 쓸 일이 아마도 가장 많을거라 예상한다.

 

간단한 예시를 들어보겠다.

 

본인이 체인점 본사 직원이라고 해보자. 매일 각 지점별 매출이 같은 포맷의 엑셀파일로 메일로 도착한다고 한다.

 

보통은 취합용 파일을 하나 만들고 받은 매출 파일을 하나씩 열어서 복사 붙여넣기 하고 그 밑에 칸에 또 복사 붙여넣기 하고 이렇게 [누적]을 한다.

 

지점이 적다면 그냥 귀찮은 일일 뿐이다.

 

지점이 많다면? 축하한다 또 야근이다.

 

이럴때 우리는 VBA라는 강력한 친구의 도움을 받아야 한다.

 

미리 말하자면 쉬운 공부는 아니다.

 

어디까지나 필요에 의한 공부가 되어야지 그냥 알아놓으면 도움이 되겠지 라고 접근하면 쉽지 않을 것이다.

 

2. 어떻게 해야하는가

예제

간단한 예제를 보자

 

위 그림과 같이 5개의 엑셀 파일이 있다.

 

각 파일별 데이터 정리 형태는 동일하고 각 엑셀마다 다른 성명과 데이터 값이 들어있다.

 

우리의 목표는 저 5개의 파일을 하나의 시트에 정리하고 싶다.

 

원하는 결과

위 사진 같은 형태로 5개의 파일을 편하게 취합하고 싶다면 우린 VBA를 이용해야한다.

 

지금은 어떤 상황에서 VBA를 사용하면 좋다 정도만 알아도 무방하다.

 

3. 문제의 해결

위의 문제 상황을 나름대로 해결한 영상이다.

 

데이터 누적하기

위 영상에서 진행되는 프로세스를 간단히 설명하겠다.

 

1) 데이터 누적하기 버튼을 눌렀을때 파일을 선택하는 창이 뜸.

2) 선택한 파일들을 데이터 누적하기 파일에 시트별로 추가(파일당 시트하나 씩 배정해서 내용 추가)

3) 추가된 시트들을 하나의 시트로 통합

 

과거 업무를 하며 반복된 취합 과정에 지쳐서 머리를 싸매고 만들어본 파일이다.

 

나는 VBA를 잘 못한다. 초보자 수준이다.

 

그래도 우린 필요하다면 남들이 만들어 놓은 코드들을 하나씩 조립해 원하는 기능을 구현해 낼 수 있다.

 

우리에게 필요한 지식은 저런 코드들을 본인 손으로 멋지게 짜내는 실력이 아니라 남들이 만들어 놓은걸 이해할수 있을 정도면 된다.

 

물론 처음에는 엑셀에서 제공하는 매크로 기능을 이용해서 먼저 자동으로 짜지는 코드들을 수정하는게 제일 초보단계겠지만 실습해본 결과 그것도 문법에 대한 이해가 없으면 쉽지가 않다.

 

그래서 일단은 기능을 구현할 수 있는 방법에 초점을 맞추려고 한다.

 

4. 결론

VBA까지 하는건 과하다고 생각하는 사람들이 직장에 분명히 있다.

 

누군가는 일 편하게 하려고 한다고 욕하는 사람도 있고 늘어난 효율성만큼 일감을 더 주는 최악의 사태도 있다.

 

조용히 배워서 조용히 이용하고 조용히 집에 먼저 가자.

 

하나 꼭 얘기하고 싶은 점은 엑셀 함수로 할수 있는건 그냥 엑셀 함수로 하자.

 

굳이 안해도 될 노력을 할 필요는 없다.

 

단순 반복업무만 줄어들어도 우리는 만족스러울 것이다.

 

끝. 집에 가자.