/ / Excel VBA 함수 및 하위

Excel VBA 함수 및 하위

기능 | 보결

사이의 차이는 기능보결 ...에서 Excel VBA 하위 함수는 값을 반환 할 수없는 반면 함수는 값을 반환 할 수 있다는 것입니다. 기능과 서브는 프로그램 크기가 커질수록 유용합니다.

기능

Excel VBA에서 작업을 수행하려면결과를 반환하면 함수를 사용할 수 있습니다. 함수를 모듈에 배치합니다. Visual Basic Editor에서 Insert, Module을 누릅니다. 예를 들어, 이름이 Area 인 함수.

Function Area(x As Double, y As Double) As Double

Area = x * y

End Function

설명: 이 함수에는 두 개의 인수 (Double 유형)와 리턴 유형 (Double 유형과 동일하게 뒤에 오는 부분)이 있습니다. 코드에서 함수 (영역)의 이름을 사용하여 반환 할 결과 (여기에서 x * y)를 나타낼 수 있습니다.

이제는 함수의 이름을 사용하고 각 인수에 값을 제공함으로써 코드의 다른 곳에서이 함수를 참조 할 수 있습니다 (함수를 호출).

워크 시트에 명령 단추를 놓고 다음 코드 줄을 추가하십시오.

Dim z As Double

z = Area(3, 5) + 2

MsgBox z

설명: 이 함수는 값을 반환하므로 코드에서이 값을 "catch"해야합니다. 다른 변수 (z)를 사용할 수 있습니다. 다음으로이 변수에 다른 값을 추가 할 수 있습니다 (원하는 경우). 마지막으로 MsgBox를 사용하여 값을 표시합니다.

시트에서 명령 단추를 누르면 결과 :

Excel VBA 함수 결과

보결

Excel VBA에서 일부 작업을 수행하도록하려면 하위 항목을 사용할 수 있습니다. 하위 모듈을 배치합니다 (Visual Basic 편집기에서 삽입, 모듈 클릭). 예를 들어 이름이 Area 인 하위.

Sub Area(x As Double, y As Double)

MsgBox x * y

End Sub

설명: 이 하위에는 두 개의 인수 (Double 유형)가 있습니다. 반환 유형이 없습니다! 하위의 이름을 사용하고 각 인수에 값을 제공함으로써 코드의 다른 곳에서이 하위 (하위를 호출)를 참조 할 수 있습니다.

워크 시트에 명령 단추를 놓고 다음 코드 줄을 추가하십시오.

Area 3, 5

시트에서 명령 단추를 누르면 결과 :

Excel VBA 하위 결과

함수의 차이를 볼 수 있습니까?서브? 이 함수는 값 15를 반환했습니다.이 결과에 값 2를 추가하고 최종 결과를 표시했습니다. 하위가 값을 반환 할 수 없기 때문에 하위를 호출했을 때 결과 (15)를 더 이상 제어 할 수 없었습니다!

또한 읽으십시오 :