본문 바로가기
excel VBA

Sub 프로시저

by 퍼포먼스마케팅코더 2023. 8. 30.
반응형

Sub 프로시저

Sub 프로시저는 동작은 수행하지만 리턴값이 없는 Sub와 End Sub 사이에 작 성하는 Visual Basic 문이다. Sub 프로시저는 호출 프로시저에 의해 전달된 상수, 변수, 식 같은 인수를 가질수 있다. Sub 프로시저의 구성은

[Public | Private | Friend][Static] Sub name [(arglist)]
   [statements]
   [Exit Sub]
   [statement]
End Sub

이다. Sub 프로시저에 인수가 없으면 Sub 문에는 공백 괄호를 적는다. 다음 보기는 Sub 프로시저에 If 문을 사용하였다.

Sub GetInfo()
   Dim answer As String
   answer = InputBox(Prompt:="이름을 입력하십시오.")
   If answer = Empty Then
      MsgBox Prompt:="이름을 입력하지 않았다."
   Else
      MsgBox Prompt:="이름은 "& answer &"이다."
   End If
End Sub

3 줄에 사용자가 입력한 값을 저장한다. 4 줄은 이름을 입력하지 않았으면 5 줄이 실행되고 이름을 입력하면 7 줄이 실행된다.

이미 만든 Sub 프로시저 실행은

  • 프로시저 이름과 선언한 데이터 형식으로 인수를 입력한다.
  • Call 문을 사용한다. 이 때 모든 인수는 괄호로 묶는다.

다음 보기는 HouseCalc 프로시저를 만들고 Main 프로시저에서 만든 프로시 저를 실행한다. 2 줄에서 Sub 프로시저는 리턴값이 없으니 괄호를 묶지 않고 실행한다. 3 줄은 Call 문을 사용하였으니 인수를 괄호로 묶었다. 2 줄과 3 줄 실행결과는 각각 개인이 확인한다.

Sub Main()
   HouseCalc 99800, 43100
   Call HouseCalc(380950, 49500)
End Sub
Sub HouseCalc(price As Single, wage As Single)
   If 2.5 * wage <= 0.8 * price Then
      MsgBox "이 집을 살 여유가 없다."
   Else
      MsgBox "이 집을 살 여유가 있다."
   End If
End Sub
반응형

'excel VBA' 카테고리의 다른 글

엑셀 Property 프로시저  (0) 2023.08.30
Function 프로시저  (0) 2023.08.30
엑셀 vba 제어문  (0) 2023.08.30
엑셀 VBA 배열 사용법  (0) 2023.08.30
엑셀 VBA 문장 작성  (0) 2023.08.30

댓글