반응형

 

 

 

VBA 모듈이 뭐야?

Module(모듈)이라는 영단어는 원래 부품, 특정 단위 등의 의미를 가지고 있습니다. 이것이 프로그래밍 분야에서 의미가 확장되어서 프로그램의 한 단위라는 의미를 가지게 되었습니다. 

 

VBA에서 모듈은 VBA 프로젝트 아래에 있는 단위를 의미합니다. 아래 이미지를 살펴보면 VBAProject에 Excel의 개체들과 모듈들이 포함되어 있는 것을 확인할 수 있습니다. 

 

VBA를 사용한다는 것은 보통 Excel개체들을 모듈에서 참조해서 VBA 코드로 특정 기능을 구현해서 동작시킨다는 것을 의미합니다. 

 

 

 

VBA 모듈은 어떻게 구성되어 있어?

모듈은 프로시저들로 구성되어 있습니다.  procedure(프로시저)라는 영단어는 절차 수술 등의 의미를 가지고 있습니다. 이 의미가 프로그래밍 분야에서 어떤 기능을 하는 절차를 기술하는 것으로 확장되었다고 볼 수 있습니다. 그러니 모듈이 프로시저로 구성되어 있다는 것은 모듈은 어떤 절차를 기록한 것들로 구성되어 있다고 이해할 수 있습니다.  아래의 프로시저들 중에서 일반적으로 사용하는 것은 서브 프로시저와 함수 프로시저입니다. 

 

 

 

서브 프로시저(Sub Procedure)가 뭐야?

VBA 에디터에서 모듈을 생성하면 코드를 기입할 수 있습니다. 거기서 기능을 정의하기 위해서 처음 하는 것이 Sub로 시작하고 Sub End로 끝나는 서브 프로시저를 작성하는 것입니다. 실질적으로 VBA를 사용해서 작성하는 대부분의 코드는 이 서브 프로시저 아래에 포함됩니다. 

 

서브 프로시저 그 코드가 수행해야 하는 명령들의 집합으로 구성되어 있습니다. 그러니까 서브 프로시저를 작성한다는 것은 무엇인가를 제어할 절차를 기록한다는 것입니다. 서브 프로시저가 실행되면 실행해야 할 제어를 반환합니다. 실행이 되면 컴퓨터에 실행할 명령을 전달한다고 하는 편이 이해하기가 쉬울까요?

 

 

 

함수 프로시저(Function Procedure)가 뭐야?

함수 프로시저는 특정 공식을 만드는 명령들로 구성됩니다. 서브 프로시저가 제어를 반환한다면 함수 프로시저는 하나의 값을 반환합니다. 예를 들어서 함수 프로시저가 전달받은 두 값을 더해서 2로 나누는 기능을 기술한 것이라면 아마도 더해서 나누어진 값이 반환될 것입니다. 

 

함수 프소시저를 정의하면 엑셀 안에서 사용하거나 다른 프로시저에서 호출해서 사용할 수 있습니다. 

 

 

 프로퍼티 프로시저(Property Procedure)가 뭐야?

속성 프로시저로 번역되기도 합니다. 프로퍼티 프로시저는 모듈, 클래스 등의 속성을 기록하고 있는 프로시저입니다. 이런 프로시저가 존재하는 이유는 사용자가 그 속성의 값을 확인하거나 설정해서 유용하게 사용할 수 있도록 하기 위해서입니다. 

 

  • 속성의 값은 Get 프로시저를 통해서 확인합니다. Get을 사용하면 속성의 값을 반환해 줍니다. 
  • 속성의 값을 설정하는 것은 Set 프로시저를 이용합니다. 
[Default] [Modifiers] Property PropertyName[(ParameterList)] [As DataType]
    [AccessLevel] Get
        ' Statements of the Get procedure.
        ' The following statement returns an expression as the property's value.
        Return Expression
    End Get
    [AccessLevel] Set[(ByVal NewValue As DataType)]
        ' Statements of the Set procedure.
        ' The following statement assigns newvalue as the property's value.
        LValue = NewValue
    End Set
End Property
' - or -
[Default] [Modifiers] Property PropertyName [(ParameterList)] [As DataType]

참조 Microsoft

 

 

연산자 프로시저가 뭐야?

우리가 흔히 사용하는 +, -,<,> 등도 사실은 프로시저의 일종입니다. 우리가 쉽게 사용할 수 있도록 미리 정의된 프로시저인 것이죠. 정말 필요하다면 개발자가 연산자 프로시저를 구현하는 것도 가능한 것 같습니다. 

 

참조 Microsoft

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기