' 参照型変数sh1の参照渡しとsh2の値渡しとで結果が違うのが理解できません。
' 参照型変数を値渡しするsh2がNothingのままなのは何故なんですか。
Sub a()
 Dim sh1 As Worksheet, sh2 As Worksheet
 b sh1
 c sh2
 Stop
End Sub

Sub b(ByRef sh As Worksheet)
 Set sh = ThisWorkbook.Worksheets("Sheet1")
End Sub

Sub c(ByVal sh As Worksheet)
 Set sh = ThisWorkbook.Worksheets("Sheet1")
End Sub