본문 바로가기
IT 이모저모/VBA

VBA sub프로시저 Function프로시저 (함수) 차이점 및 생성, 불러오는법

by 내일은맑음 2020. 6. 7.
반응형

프로시저는 다른 언어의 함수와 같은 역활을 한다. VBA에서는 이런 함수가 2종류(sub, function)가 있다.

차이점과 생성 및 활용법을 알아보자

sub프로시저와 Function 프로시저의 차이점

sub는 리턴값이 없고 function은 리턴값이 있다. 일반적인 언어에서는 통합되어 있는 기능이 VBA에서는 나뉘어져 있다.

 

생성법

sub의 경우

Sub 프로시저명()
    '처리내용
 
End Sub

function의 경우

Function 프로시저명 () As 리턴값 데이터형
    '처리내용
End Function

 

불러오는 법

sub의 경우 Call을 이용하여 호출하는 경우가 많다. function의 경우 리턴치를 돌려줄때 call을 앞에 붙이면 에러가 난다.

Sub main() 
    Call macro1
End Sub

Sub macro1()
    Dim str As String
    str = func1()
    MsgBox str, vbInformation
End Sub
 
Function func1() As String
    func1 = "Hello VBA!"
End Function

 

반응형