사용자는 참조 값 또는 프로 시저 (함수 또는 하위)에 인자를 전달할 수있다. 기본적으로, 엑셀 VBA 참조로 인수를 전달합니다. 언제나처럼, 우리는 일을 더 명확하게하기 쉬운 예제를 사용합니다.

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

Dim x As Integer

x = 10

MsgBox Triple(x)

MsgBox x

코드는 함수 배를 호출합니다. 그것은 우리가 함수 모듈에 배치 될 필요가있다. 관심있는 두 번째있는 MsgBox의 결과입니다.

  1. Visual Basic 편집기 및 삽입 모듈을 클릭하십시오.

다음 코드 줄을 추가합니다 :

Function Triple(ByRef x As Integer) As Integer

x = x  3

Triple = x

End Function

당신이 시트에 명령 단추를 클릭하면 검색 결과 :

ByRef Result

ByRef Result

ByVal의와 함께하는 ByRef를 교체합니다.

Function Triple(ByVal x As Integer) As Integer

x = x  3

Triple = x

End Function

당신이 시트에 명령 단추를 클릭하면 검색 결과 :

ByVal Result

ByVal Result

설명 : 참조로 인수를 전달하면 우리가 원래 값을 참조한다. X (본래의 값)의 값은 함수로 변화된다. 우리가 함수에 사본을 전달하는 값만큼의 인수를 통과 할 경우에는 상기 제있는 MsgBox에게 디스플레이 (30)의 값을 결과로. 원래의 값은 변경되지 않는다. 그 결과, 제있는 MsgBox 디스플레이 (10)의 값 (최초 값).