意外と重要ByVal
ここに載せてあるソースコードは、参考のために載せてあります
サンプルコードは、一番下にLZHとしてあります
Option Explicit Private Sub Command1_Click() Dim txt1 As Long, txt2 As Long On Error GoTo ErrGoto 'TextBoxから値を代入 txt1 = Val(Text1.Text) txt2 = Val(Text2.Text) If Check1.Value = 0 Then 'ByValを使った関数を使うか Text3.Text = Add(txt1, txt2) 'Addで計算 Else Text3.Text = AddByVal(txt1, txt2) 'AddByValで計算 End If '計算する値に変化がないか、元のTextBoxに戻す Text1.Text = txt1 Text2.Text = txt2 Exit Sub ErrGoto: MsgBox "エラー" End Sub 'ByValを使ってない関数 Function Add(X1 As Long, X2 As Long) As Long Add = X1 + X2 '計算する X1 = 0 'わざと0にする End Function 'ByValを使った関数 Function AddByVal(ByVal X1 As Long, ByVal X2 As Long) As Long AddByVal = X1 + X2 '計算する X1 = 0 'わざと0にする End Function Private Sub Command2_Click() Text1.Text = "121" Text2.Text = "548" Text3.Text = "" End Sub |