(by reference) (by value). , . , , .
ByRef ByVal, .
5 :
1. UserName ( ):
Sub ()
Dim UserName As String
UserName = ""
ChangeName UserName
MsgBox UserName
End Sub
Sub ChangeName (ByRef UserName)
UserName = ""
End Sub
2. ( ):
Sub _ ()
Dim UserName As String
UserName = ""
ChangeName2 UserName
MsgBox UserName
End Sub
Sub ChangeName2(ByRef NewName)
NewName = ""
End Sub
3. ( ):
Sub ()
Dim UserName As String
UserName = ""
ChangeName3 UserName
MsgBox " " _
& UserName
End Sub
Sub ChangeName3(ByVal UserName)
MsgBox " " & UserName & "."
UserName = ""
MsgBox " " & UserName
End Sub
:
Function End Function.
, .
.
Multiply, .
Sub ()
Dim Var1 As Integer
Dim Var2 As Integer
Dim Var3 As Integer
Var1 =5
Var2 = 10
Var3 = Multiply(Var1, Var2)
MsgBox Var3
End Sub
Function Multiply(ByVal Var1, ByVal Var2)
Multiply = Var1 * Var2
End Function
, VBA : , , ( ), , .
5 .
, Var1 .
Sub ()
|
|
Dim Var1 As Integer
Var1 =55
MsgBox Var1
DisplayMessage
End Sub
Sub DisplayMessage()
MsgBox Var1
End Sub
Varl (55) DisplayMessage, , .
, . , , :
Dim Var2 As String
Sub ()
Var2 = "!"
DisplayMessage2
End Sub
Sub DisplayMessage2()
MsgBox Var2
End Sub
( ) , . , Public .
(1- 2, 2- 5) :
Public Var3 As String
Sub ()
Var3 = " 2."
End Sub
Sub ()
MsgBox Var3
End Sub
Static (), , , . , Varl Var2:
Sub ()
End Sub
Sub ()
Static Var1 As String
Dim Var2 As String
If Varl = "" Then
Var1 = "Var1: "
Var2 = "Var2: "
End If
MsgBox Varl
MsgBox Var2
End Sub