본문 바로가기
엑셀(Excel)/매크로(VBA)

엑셀(Excel) 매크로와 VBA 란?

by 갱동 2024. 3. 26.
반응형

1. 매크로

 

매크로(macro)란 IT분야에서 여러 개의 특정 명령을 자주 사용하거나 반복적으로 사용할 때 각각의 명령을 개별적으로 사용하지 않고 어떤 키를 누르거나 메뉴를 선택하여 일련의 명령으로 집합 실행시키는 기능입니다. 매크로(macro)는 엑셀뿐만 아니라 MS-Office 제품 군에서도 워드프로세서나 한글 등 다양하게 지원하는 기능입니다.

 

엑셀에서의 매크로 기능은 일련의 명령 순서와 조건을 어떤 키 동작에 정의를 하는 과정이라고 말할 수 있습니다. 엑셀의 매크로 기능을 사용할 때 엑셀 기능을 많이 알면 알수록 더 좋고 많이 활용할 수 있는 매크로를 구현할 수 있습니다. 매크로를 배우기 전에 엑셀의 기본 기능들은 어느정도 점검이 필요합니다.

 

2. VBA ( Visiual Basic for Application )

마이크로소프트(MS)가 MS-Office의 응용 프로그램에서 매크로를 기록할 수 있도록 하는 일종의 프로그래밍 언어입니다.

MS에서는 처음으로 엑셀2.0(1987년)에서 XLM 매크로 언어를 사용하게 됩니다. 해당 매크로 언어는 순차적으로 실행되는 함수로 구성되어 있지만 배우기가 어려웠습니다. 그래서 보다 더 쉽게 매크로를 사용할 수 있게 엑셀 5.0(1993년)부터 매크로를 VBA로 작성할 수 있게 지원을 하고 있습니다.

 

매크로(macro) 기능은 각각의 응용프로그램에서 기록하는 방법이 모두 다릅니다. 한글에서는 매크로 기능을 자바스크립트 언어를 이용하여 기록하고 정의하는 반면, 2019년 PC용 MS-Office 제품군인 Word, Access,Powerpoint 등은 VBA를 사용하여 매크로를 사용합니다. 그렇다고 해서 모두 같은 VBA를 쓸 순 없지만, 기본적으로 문법 구조와 사용방법은 동일하기 때문에 엑셀 VBA만 잘 다룬다면 다른 VBA도 문제없이 사용이 가능합니다.

 

엑셀에서 쓰이는 VBA 코드

 

워드에서 쓰이는 VBA 코드

 

3. VBA와 VB

VB(Visiual Basic)은 VBA의 MS-Office 매크로용으로 만들어진 프로그래밍 언어입니다. VBA의 기본 구조는 모두 VB의 규칙을 따르게 되고 응용 프로그램 개체가 추가된 형태로 각각의 응용 프로그램 안에서만 동작한다는 것이 특징입니다.

 

VB는 위에서 설명한 것처럼 독립적인 언어이기에 VB로 작성한 프로그램 매크로는 엑셀 파일에 포함되기 때문에 엑셀이 실행된 상태에서만 실행이 가능합니다. 엑셀의 버전에 따라 매크로가 동작이 하지 않을 수도 있으니 확인이 필요합니다.

( 하위 버전에서 실행되는 매크로는 대체적으로 상위 버전에서는 실행이 되지만, 반대의 경우 실행이 안될 수 도 있습니다. )

 

4. VBA와 자바스크립트

자바스크립트는 대표적인 웹 프로그래밍 언어로써 오피스 2019가 출시되면서 VBA가 자바스크립트나 파이썬으로 대체될 수도 있다고 예측이 있었습니다. 구글 스프레드시트에서도 자바스크립트를 사용하기에 웹 브라우저 환경에서 앱 형태의 엑셀 자동화를 구현하려면 자바스크립트를 배워야 합니다. 구조 자체가 VBA와 전혀 다르므로 따로 공부를 해줘야 하는 언어입니다. 저는 앱 자동화에 대해 관심이 많아 자바스크립트도 배워볼 생각입니다. 

반응형

댓글