VBA 서브 프로시저에서 다른 서브 프로시져 호출 및 실행하기
Last updated on 4월 8, 2023
이 튜토리얼에서는 VBA의 서브프로시저 내에서 다른 서브 프로시저를 호출하는 방법을 설명합니다.
반복적으로 사용할 수 있는 코드를 작성하고 프로젝트의 여러 서브 프로시저에서 호출하는 것은 매우 유용합니다. 이렇게 하면 많은 시간을 절약할 수 있고 VBA 코드를 훨씬 더 효율적으로 만들 수 있습니다.
서브 프로시저에서 다른 서브 프로시저 실행하기
아래에서 3개의 서브 프로시저를 살펴보겠습니다:
Sub TestRoutine()
RunRoutine1
RunRoutine2
End Sub
Sub RunRoutine1()
MsgBox "좋은 아침입니다"
End Sub
Sub RunRoutine2()
MsgBox "오늘의 날짜는 " & Format(Date, "mm/dd/yyyy")
End Sub
서브 프로시저인 TestRoutine을 실행하면 RunRoutine1과 RunRoutine2를 호출하고 두 개의 메시지 상자가 나타납니다.
하위 프로시저에서 호출할 수 있는 다른 하위 프로시저의 개수에는 제한이 없습니다.
Call 구문 사용하기
코드를 더 읽기 쉽게 만들기 위해 프로시저 이름 앞에 호출 문을 사용할 수도 있습니다. 그러나 코드가 실행되거나 저장되는 방식에는 전혀 영향을 미치지 않습니다.
Sub TestRoutine()
Call RunRoutine1
Call RunRoutine2
End Sub
인수를 사용하여 서브 프로시저 호출하기
인수를 사용하여 서브 함수를 호출할 수도 있습니다.
Sub TestRoutine()
RunRoutine1 ("순자씨")
RunRoutine2 ("좋은 하루 보내세요")
End Sub
Sub RunRoutine1(strName as String)
MsgBox "좋은 아침입니다, " & " & strName
End Sub
Sub RunRoutine2(strMessage as String )
MsgBox "오늘의 날짜는 " & Format(Date, "mm/dd/yyyy") & VbCrLf & strMessage
End Sub
명명된 인수를 사용하여 서브 프로시저 호출하기
인수의 이름을 지정하면 서브 프로시저에 인수를 같은 순서로 작성할 필요가 없습니다.
Sub TestRoutine()
RunRoutine1 strGreeting:="어떻게 지내세요?", strName:="순자씨"
End Sub
Sub RunRoutine1(strName as String, strGreeting as string
MsgBox "좋은 아침입니다 " & " & strName & vbCrLf & strGreeting
End Sub