投稿/コメントを表示します。

最近は、大規模なプログラミングを書き上げるテクニックとして、
影響範囲(変数の有効範囲)を意識してコードを書くようになりました。
自己満足ですが、下記のようなことをして遊んでいます。
Sub hoge()
    Dim c As Long
    c = 1
     
    c = func_num(c)
    Debug.Print c
     
    func_num c
    Debug.Print c
     
    sub_num c
    Debug.Print c
End Sub

'Function func_num(num As Long) As Long
'<変更前>参照渡し(実体参照):
'    呼び出し先のプロシージャ内で受け取った引数の値を変えたとき、呼び出し元のプロシージャ内の変数も影響を受ける
'<変更後>値渡し (値参照) :
'    呼び出し先のプロシージャ内で受けだった引数の値を変えても、呼び出し元のプロシージャ内の変数は影響を受けない
Function func_num(ByVal num As Long) As Long
    num = num + 1
    func_num = num
End Function

2018/06/28 08:22