[엑셀/VBA] 매개변수의 전달 방식


[엑셀/VBA] 매개변수의 전달 방식

VBA에서 매개변수를 전달하는 방식은 주소만 전달하는 ByRef 방식과 값 자체를 전달하는 ByVal 방식 2가지가 존재합니다. ByRef 방식은 매개변수를 전달할 때 참조된 값만 전달합니다. 매개변수를 전달받은 쪽에서는 전달받은 값을 이리저리 고쳐도 진짜 값이 수정되지 않도록 값이 보호됩니다. ByVal 방식은 매개변수를 전달할 때 값 자체를 전달합니다. 매개변수를 전달받은 쪽에서는 전달받은 값을 실제로 수정할 수 있습니다. 하지만 byVal 방식은 byRef 방식보다 느리게 동작합니다. Sub Test() Dim startTime As Double Dim endTIme As Double Dim elapsedTime As Double startTime = Timer For i = 0 To 100000000 Test_ByVal (i) '이부분을 교체 Next i endTIme = Timer elapsedTime = Round(endTIme - startTime, 3) MsgBox "...


#ByRef #ByVal #VBA #매개변수 #엑셀

원문링크 : [엑셀/VBA] 매개변수의 전달 방식