Byval(値渡し)とByRef(参照渡し)の違いをぜひ教えってください。
あと、VBの標準EXEとActiveX.DLLなどの違いも、もしよければぜひ教えってください。
ByValで受け取った引数はプロシージャ内で変更してもCall元には何も影響は出ませんが、
ByRefで受け取った引数をプロシージャ内で変更するとCall元の値も変更されます。
例えば呼出元が
Call Sub_Test(A)
となっていて、プロシージャが
Public Sub Sub_Test(ByVal sData As String)
sData = "Test"
End Sub
の時はCall元のAの値は変わりませんが、もしプロシージャが
Public Sub Sub_Test(ByRef sData As String)
sData = "Test"
End Sub
となっていたら Call元のAの値は「Test」という文字列に変更されます。