본문 바로가기
excel VBA

Function 프로시저

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

Function 프로시저

Function 프로시저는 동작을 수행한 결과 값을 반환한다. 실행문은 Function과 End Function 사이에 작성한다. Function 프로시저의 구성은

[Public | Private | Friend][Static] Function name[(arglist)] [As type]
   [statements]
   [name = expression]
   [Exit Function]
   [statement]
   [name = expression]
End Sub

이다. Function 프로시저는 상수, 변수, 식 같은 인수를 가질 수 있으며 리턴값의 데이터 형식을 지정해야 한다. 리턴 값의 데이터 형식을 생략하면 데이터 형식은 Variant이다. 리턴 값은 Function에 붙여진 프로시저 이름과 같다.

Function 프로시저 실행은 결과값이 있어서 인수를 괄호로 묶어야 한다. 다음 보기는 3개 항목으로 승진 점수 계산하는 Function 프로시저이다.

Sub 점수보기()
   score = 승진점수(15, 90, 2)
   MsgBox score
End Sub
Function 승진점수(년 As Integer, 근평 As Integer, 학위 As Integer)
   career = 년 / 20 * 70
   If 학위 = 0 Then
      deg = 0
   ElseIf 학위 = 1 Then
      deg = 1.5
   ElseIf 학위 = 2 Then
      deg = 3
   End If
   승진점수 = career + 근평 + deg
End Function

위 보기에서 승진점수 계산결과는 Sub 프로시저가 있는 2 줄에서 확인한다. 승진점수 계산은 4 – 14 줄까지 Function 프로시저이다. 승진점수 프로시저에서

  • 첫 번째 인수는 근무년수
  • 두 번째 인수는 근무평점
  • 세 번째 인수는 최종학력

이다. 각 값에서

  • 근무년수는 20년이 70점 만점
  • 근무평점은 100 점이 만점
  • 학위는 0은 대졸이하, 1은 석사, 2는 박사학위

이다. 승진점수 계산식은 교원승진 점수를 참고하였다. 13 줄 승진점수는 4 줄 승진점수와 같아야 function 프로시저가 작동한다. 2 줄에서 근무년수 15년, 근평 90점, 박사학위를 인수로 계산하였다.

반응형

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

엑셀 VBA 컴파일 오류 경고 끄기  (0) 2023.09.05
엑셀 Property 프로시저  (0) 2023.08.30
Sub 프로시저  (0) 2023.08.30
엑셀 vba 제어문  (0) 2023.08.30
엑셀 VBA 배열 사용법  (0) 2023.08.30

댓글