Excel VBA 함수 자습서: 반환, 호출, 예

기능이란 무엇입니까?

함수는 특정 작업을 수행하고 결과를 반환하는 코드 조각입니다. 함수는 주로 출력할 데이터 형식 지정, 계산 수행 등과 같은 반복적인 작업을 수행하는 데 사용됩니다.

대출에 대한 이자를 계산하는 프로그램을 개발한다고 가정해 보겠습니다. 대출 금액과 회수 기간을 승인하는 함수를 생성할 수 있습니다. 그런 다음 함수는 대출 금액과 회수 기간을 사용하여 이자를 계산하고 값을 반환할 수 있습니다.

함수를 사용하는 이유

함수를 사용하면 얻을 수 있는 이점은 위의 서브루틴을 사용하는 이유 섹션의 장점과 동일합니다.

함수 명명 규칙

이름 지정 규칙은 서브루틴 이름 지정 규칙에 대한 위 섹션의 규칙과 동일합니다.

함수 선언을 위한 VBA 구문

Private Function myFunction (ByVal arg1 As Integer, ByVal arg2 As Integer)
    myFunction = arg1 + arg2
End Function

여기 구문에서,

암호 동작
  • “개인 함수 myFunction(…)”
  • 여기서는 "Function"이라는 키워드를 사용하여 "myFunction"이라는 함수를 선언하고 함수 본문을 시작합니다.
  • 'Private' 키워드는 함수의 범위를 지정하는 데 사용됩니다.
  • "ByVal arg1은 정수로, ByVal arg2는 정수로"
  • 그것은 거부ares 'arg1' 및 'arg2'라는 정수 데이터 유형의 두 매개변수.
  • myFunction = arg1 + arg2
  • arg1 + arg2 표현식을 평가하고 결과를 함수 이름에 할당합니다.
  • "기능 종료"
  • "End Sub"는 함수 본문을 끝내는 데 사용됩니다.

예를 통해 설명된 기능:

함수는 서브루틴과 매우 유사합니다. 서브루틴과 함수의 주요 차이점은 함수가 호출될 때 값을 반환한다는 것입니다. 서브루틴은 호출될 때 값을 반환하지 않습니다. 두 개의 숫자를 더하고 싶다고 가정해 보겠습니다. 두 숫자를 받아 숫자의 합을 반환하는 함수를 만들 수 있습니다.

  1. 사용자 인터페이스 만들기
  2. 기능 추가
  3. 명령 버튼에 대한 코드 작성
  4. 코드 테스트

단계 1) 사용자 인터페이스

아래와 같이 워크시트에 명령 단추를 추가합니다.

VBA 함수 및 서브루틴

팔로우 설정wing CommanButton1의 속성은 다음과 같습니다.wing.

S / N Control 비즈니스 재산 가치관
1 커맨드 버튼1 성함 btnAddNumbers
2 표제 숫자 기능 추가


이제 인터페이스가 다음과 같이 나타나야 합니다.

VBA 함수 및 서브루틴

단계 2) 기능 코드.

  1. Alt + F11을 눌러 코드 창을 엽니다.
  2. 팔로우 추가wing 암호
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)
    addNumbers = firstNumber + secondNumber
End Function

여기 코드에서,

암호 동작
  • “비공개 함수 addNumbers(…)”
  • 그것은 거부ares 두 개의 정수 매개변수를 허용하는 개인 함수 "addNumbers".
  • "ByVal firstNumber를 정수로, ByVal secondNumber를 정수로"
  • 그것은 거부ares 두 개의 매개 변수 변수 firstNumber 및 secondNumber
  • "addNumbers = firstNumber + secondNumber"
  • firstNumber 및 secondNumber 값을 더하고 합계를 addNumbers에 할당합니다.

3단계) ​​함수를 호출하는 코드 작성

  1. btnAddNumbers_Click 명령 버튼을 마우스 오른쪽 버튼으로 클릭하세요.
  2. 코드 보기를 선택하세요.
  3. 팔로우 추가wing 암호
Private Sub btnAddNumbersFunction_Click()
    MsgBox addNumbers(2, 3)
End Sub

여기 코드에서,

암호 동작
“메시지Box 숫자 추가(2,3)”
  • addNumbers 함수를 호출하고 2와 3을 매개변수로 전달합니다. 이 함수는 두 숫자의 합인 5를 반환합니다.

단계 4) 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.wing 결과

VBA 함수 및 서브루틴

위 코드가 포함된 Excel을 다운로드하세요.

위의 엑셀코드를 다운로드 받으세요

요약

  • 함수는 특정 작업을 수행하는 코드 조각입니다. 함수는 실행 후 값을 반환합니다.
  • 서브루틴과 함수 모두 코드 재사용성을 제공합니다.
  • 서브루틴과 함수 모두 큰 코드 덩어리를 관리 가능한 작은 코드로 나누는 데 도움이 됩니다.