08/01/29 08:25:03
上の続き
Private Function TEST1(c As Range) As Long
Dim i&, j&
For i = 1 To 5
j = c.Row
Next
TEST1 = j
End Function
Private Function TEST2(ByVal c As Range) As Long
Dim i&, j&
For i = 1 To 5
j = c.Row
Next
TEST2 = j
End Function
実測値
TEST1 2448 ミリ秒
TEST2 2528 ミリ秒
5回のループじゃなくて25回くらいならほぼ同じになった。もっと回したらやっと逆転した。
だから>>529の言うことがまったくウソということではないが、通常このように何度もアクセスすることはないから参照渡しで問題なし。
ましてや1回のアクセスに値渡しは無駄もいいとこ。1回なら割合としては上の計測よりもっと差がつく。