(Sub Try( ByRef M As Integer
M= M*2
End Sub
( )Sub Check
Dim A as Integer
A = 3
Try A
msgbox A
End Sub
( )Sub Form_Load
Check
End sub
جرب البرنامج السابق مرة كما هو ، ومرة أخرى مع استبدال كلمة ByRef بكلمة ByVal
لاحظ الناتج، وهو القيمة التي سيحملها المتغير M
ففي الحالة ByRef يكون الصندوق M هو حامل القيمة التي سترجع إلى المتغير الذي حمل القيمة إلى الإجراء
وبالتالي ستتغير قيمة المتغير A بعد العودة من تنفيذ الإجراء
بينما ByVal ستجعل الصندوق M مجرد مستقبل للقيمة التي تم إرسالها دون أن يؤثر على المتغير الذي حملها.