VBA 서브 프로시저에서 다른 서브 프로시져 호출 및 실행하기

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

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

vba run subs call

인수를 사용하여 서브 프로시저 호출하기

인수를 사용하여 서브 함수를 호출할 수도 있습니다.

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

 

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기