엑셀 VBA하는 ByRef 및 ByVal의
사용자는 참조 값 또는 프로 시저 (함수 또는 하위)에 인자를 전달할 수있다. 기본적으로, 엑셀 VBA 참조로 인수를 전달합니다. 언제나처럼, 우리는 일을 더 명확하게하기 쉬운 예제를 사용합니다.
워크 시트에 명령 단추를 놓고 다음 코드 줄을 추가
Dim x As Integer x = 10 MsgBox Triple(x) MsgBox x
코드는 함수 배를 호출합니다. 그것은 우리가 함수 모듈에 배치 될 필요가있다. 관심있는 두 번째있는 MsgBox의 결과입니다.
-
Visual Basic 편집기 및 삽입 모듈을 클릭하십시오.
다음 코드 줄을 추가합니다 :
Function Triple(ByRef x As Integer) As Integer x = x 3 Triple = x End Function
당신이 시트에 명령 단추를 클릭하면 검색 결과 :
ByVal의와 함께하는 ByRef를 교체합니다.
Function Triple(ByVal x As Integer) As Integer x = x 3 Triple = x End Function
당신이 시트에 명령 단추를 클릭하면 검색 결과 :
설명 : 참조로 인수를 전달하면 우리가 원래 값을 참조한다. X (본래의 값)의 값은 함수로 변화된다. 우리가 함수에 사본을 전달하는 값만큼의 인수를 통과 할 경우에는 상기 제있는 MsgBox에게 디스플레이 (30)의 값을 결과로. 원래의 값은 변경되지 않는다. 그 결과, 제있는 MsgBox 디스플레이 (10)의 값 (최초 값).