返回列表 上一主題 發帖

[發問] ByVal Target As Range 用法

回復 12# mdr0465


補充
1. 沒宣告時為 ByRef
2. 用()括住引數時,強迫傳值。

Sub 主程式()
    Dim A%, B%, C%
    Debug.Print
        
    A = 123: B = 456: C = 789
    Debug.Print "主程式", A, B, C
   
    Call 副程式((A), (B), C) '(A)、(B)強迫傳值
    Debug.Print "副程式 - 1", A, B, C
   
    Call 副程式(A, B, C)
    Debug.Print "副程式 - 2", A, B, C
End Sub

Sub 副程式(X%, ByRef Y%, ByVal Z%) '沒有宣告時內定為ByRef
    X = 321: Y = 654: Z = 987
End Sub

'Debug.Print
'主程式         123           456           789
'副程式 - 1     123           456           789
'副程式 - 2     321           654           789
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題