티스토리 뷰

[VBA] 모듈과 프로시저에 대해서 소개합니다



 모듈과 프로시저 개요  

모듈은 프로시저들의 집합이라고 말할 수 있습니다. 프로시저의 종류는 Sub 프로시저와 Function 프로시저로 구분할 수 있습니다. Sub 프로시저는 Sub와 End Sub문으로 구성되며, Function 프로시저는 Function과 End Function으로 구성됩니다.



Sub 프로시저와 Function 프로시저의 차이  Sub와 Function 프로시저의 차이점은?

Sub 프로시저는 결과값을 반환하지 않습니다. 결과값을 반환하지 않는다는 것은 Sub 프로시저는 주어진 작업만 수행하고 프로시저를 끝낸다는 것입니다. Sub 프로시저는 일반적으로 사용자가 작성해 사용하는 일반 프로시저와 이벤트 프로시저를 통칭하는 말로 사용됩니다. 

Sub 프로시저는 호출할 때 상수, 변수, 식과 같은 인수를 포함하여 전달할 수 있으며 Sub 프로시저가 인수없이 호출되는 경우는 공백을 가지는 괄호를 붙여주면 됩니다. 대부분의 사용자가 직접 작성하는 프로시저 및 매크로 자동기록에 의해 생성되는 프로시저가 바로 Sub 프로시저라 할 수 있습니다.



 Sub 프로시저의 구조와 사용예제  


1) 일반적인 Sub 프로시저 구조

 Sub 프로시저명()

        명령문

 End Sub



2) 기본적인 Sub 프로시저 예제

 [실행 예제] Sub 프로시저 예제

'문자열을 입력받아 화면에 출력
 
Sub Sample()

    strTemp = InputBox("문자열을 입력하세요.")
    MsgBox strTemp

End Sub




 Function 프로시저의 구조와 사용예제  

Function 프로시저는 프로시저가 실행된 후 결과값을 반환해 주는 프로시저를 말합니다. 결과값을 반환하려면 프로시저 이름에 반환할 결과값을 넣어주면 됩니다. 즉, 프로시저의 이름이 결과값을 저장하는 변수의 역할을 한다고 설명할 수 있겠습니다


1) 일반적인 Function 프로시저의 구조

Function 프로시저 이름()

    명령문

End Function


2) 기본적인 Function 프로시저 사용 예제

 [실행 예제] Function 프로시저 예제

Sub GetSheetCount()


    MsgBox "현재 작업시트 수는 " & GetSheetNum() & "입니다."

End Sub

Function GetSheetNum()

    GetSheetNum = Worksheets.Count

End Function


댓글