引数の渡し方には値渡しと参照渡しの二種類があります。 C# で言うと、ref のようなものです。 Sub Main() Dim val As Integer val = 7 ByValProcedure(val) Console.WriteLine("ByVal Value: {0}", val) val = 7 ByRefProcedure(val) Console.WriteLine("ByRef Value: {0}", val) End Sub Sub ByValProcedure(ByVal arg As Integer) arg = 15 End Sub Sub ByRefProcedure(ByRef arg As Integer) arg = 15 End Sub 実行結果: 参照渡しのパラメータでも元の変数の値を変更させない場合、パラメータを括弧でくくって渡します。 Sub Main() Dim val As Integer val = 7 ByRefProcedure((val)) Console.WriteLine("ByRef Value: {0}", val) End Sub Sub ByRefProcedure(ByRef arg As Integer) arg = 15 End Sub 実行結果: |