반응형

마이크로 소프트 엑셀은 수많은 기능과 자동화된 연산 처리, 편리한 템플릿 가공, 다양한 그래프 드을 이용한 데이터의 시각화 외에도 아주 많은 유용한 기능을 제공하여 사무 업무의 표준 프로그램이 되었다. 나는 디자이너이지만 후배들에게 포토샵이나 일러스트만큼이나 중요한 프로그램이라고 자신있게 말할 수 있는 것이 바로 엑셀이다. 회사에서 작성되고 확인되는 거의 모든 수치를 다루는 문서는 바로 엑셀이기 때문이다. 

견적서도, WBS 같은 일정표도, 데이터 분석 결과도 모두 엑셀이며 지금은 전자문서로 대체되긴 했지만 각종 결재 서식이나 양식역시 워드보다 엑셀을 많이 사용했었다.

본 포스트를 보신 후
도움이 되었다 생각되시면 공감 클릭!!  부탁드려요~

 

 

엑셀 전문가 하면 다양한 기능을 사용하는 것도 있지만 무엇보다 엑셀에서 지원하는 강력한 기능인 함수의 사용 여부로 판가름 할 수 있겠다. 엑셀에서 각종 지원 함수를 이용하면 엑셀이 더이상 문서가 아닌 하나의 프로그램이 되기 때문이다. 엑셀 지원 함수를 이용한 기능은 너무나도 다양하기 때문에 여기서 다루지는 않을 것이고 따로 찾아보는 것이 좋을 것이다. 관심이 있다면 학원을 잠시 다니는 것도 추천한다.

 

그럼 여기서 이야기 할 주제는 무엇인가 하니, 바로 VBA 라고 하는 프로그래밍 언어에 대하여 작성할 예정이다.

 

VBA 란 Visual Basic for Application 의 약어로 마이크로 소프트에서 제공하는 office 제품군에서 사용할 수 있는 visual basic 언어를 말한다. 

 

visual basic 은 하나의 프로그래밍 언어로 문법이 다른 언어와 약간 차이가 있지만 막상 배우려고 보면 아주 쉽게 습득할 수 있는 언어이며 인터넷에 아주 많은 레퍼런스가 널려 있어 새로 개발을 할때에도 참고할 만한 자료가 아주 많은 괜찮은 개발 언어이다.

 

이 포스트를 보는 분이 이런 글 보자고 들어온 것은 아닐 것 이므로 바로 본론으로 들어가자.

 

엑셀( 다른 office 제품군 포함)에서 VBA 를 작성하기 위하여 먼저 개발창을 열어야 한다.

 

alt + F11 키를 누르면 아래와 같은 창이 나타난다.

 

F11 키를 눌러 VBA 에디터 창이 표시된 화면 - 현재 좌측 tree 의 sheet1을 더블클릭한 상태

좌측 상단에는 현재 엑셀에 열려있는 문서와 각 문서가 포함하고 있는 워크시트 (엑셀 창 하단에 보이는 탭) 이름이 보여지는 창이 하나 있고 아래는 복잡한 테이블... 별로 알필요 없음. 우측은 회색 공간이 있다. 회색 공간에 창이 하나 떠 있는데 이는 필자가 좌측 트리뷰에서 Sheet1(Sheet1) 로 표시된 부분을 더블클릭한 상태이다.

 

이 하얀색 텍스트 에디터에 VBA 를 작성하여 각종 자동화 작업을 할 수 있다.

 

VBA 에서는 어떤 목적을 위하여 수행하는 기능을 묶어서 실행을 시키게 되는데 바로 아래와 같은 형태로 정의한다.

 

 

Sub setText() 

    수행할 명령어

End Sub 

 

여기서 setText 는 사용자가 원하는 기능의 명칭을 적으면 되며 실제 수행하는 기능은 "수행할 명령어" 부분에 입력하면 된다.

 

Sub setText()

    Cells(1, 1).Value = "DIY"
    Cells(2, 1).Value = "Dev."
    Cells(3, 1).Value = "Design"
    
End Sub

 

요렇게 입력하고 F5 키를 누르면 엑셀 창의 Sheet1 에 아래와 같이 자동으로 작성이 된다.

위의 코드가 의미하는 것을 살펴보면

Cells 는 엑셀 화면의 칸들을 의미한다. Cells( rowIndex, columnIndex) 의 순서로 셀을 지정하게 되는데 rowIndex 는 번호 즉 좌측에 세로로 보이는 숫자를 말하고 columnIndex 는 을 의미하며 위에 보이는 알파벳에 해당되는 번호다. 물론 VBA 에서는 알파벳으로 기재를 하지 않고 숫자로 기재를 해야 한다. VBA 에서 가로 세로 열을 앞에 말한바와 같이 지칭할때는 항상 앞자리가 행, 뒷자리가 열 임을 기억하자.

 

참고로 코드 실행을 위하여 F5 를 누를 때 키보드의 커서가 Sub 와 End Sub 사이에 이어야 해당 기능이 실행이 된다.

 

엑셀 VBA 를 공부하면서 알아가야 할 것이 많겠지만 우선 다음과 같은 것들을 고민해보아야 한다.

  • 무엇을 위해 VBA 를 사용할 것인가?
  • VBA 를 배우면 내가 하는 실무 (또는 생활) 에 당장 도움이 되는 것은 어떤 것일까?
  • 엑셀을 이용하면서 가장 시간 낭비라고 생각했던 것은 무엇이었는가?

 

막연히 공부해야 겠다는 생각으로 시작한 스크립팅 공부는 생각보다 진도가 빠르게 나가지 않는다. 당장 1분이라도 내 시간을 아껴 줄 수 있는 부분을 빨리 찾아 직접 만들어 보는 것이 가장 빠른 학습방법이 된다. 아래 몇가지 예를 들어 볼테니 본인에게 해당되는 사항이 있다면 엑셀을 열고 Alt + F11 을 눌러 바로 코드를 작성해 보자.

 

위에 예시를 든 케이스 외에도 VBA 로 할 수 있는 작업은 무궁무진하다. 하지만 어려운 것부터 시작한다면 첫걸음을 떼기 어려우니 간단한 작업부터 도전해 보자. 

 

VBA 관련 첫번째 포스트는 여기서 마무리를 할텐데 이 주제에서 다룰 내용은 아래와 같다.

 

1. 각종 VBA 명령어와 사용법

2. 알아두면 유용한 코드들

3. 완성된 코드 샘플

 

필자는 디자이너지만 프로그래밍을 접하면서 업무의 질이 많이 달라졌다. 개발직군이 아니라고 개발을 등한시 하지 말고 적극적인 자세로 접하도록 해보자. 어느 순간 개발자가 와서 이것 좀 해줄 수 있을까 하고 개발 의뢰를 할 것이다. 그럴때가 우리에게 채무자가 아닌 채권자의 입장이 될 수 있는 절호의 찬스일 것이다. 

 

세상에 VBA 만큼 쉬운 프로그래밍이 없으니 걱정말고 시작하자. 개발자 아닌 디자이너, 기획자, 일반 사무직 분들.

내가 작성하는 내용만 다 따라와도 엑셀 붙잡고 머리 터지게 숫자 계산하는 업무시간이 1/10 으로 줄어들 것이다.

 

 

궁금한 내용이나 질문은 뎃글을 남겨주면 답변해 드리겠습니다.

 

뎃글, 공감 은 블로그 작성자에게 큰 힘이 된답니다. 
도움이 되었다 생각되시면 클릭!!  부탁드려요~

 

반응형

+ Recent posts