ByRef引数に値を設定する関数に、クラス変数のメンバを渡すと
値が設定されません。どうしてか分かる方いらっしゃいませんでしょうか。

例)
次の例で、Sub main を実行すると "結果はNG" のダイアログが出ます。

[CLASS1.CLSの内容]
Public val As String
Private Sub Class_Initialize()
val = "NG"
End Sub

[MODULE1.BASの内容]
Sub main()
Dim c As Class1
Set c = New Class1
Call SetByRef(c.val)
MsgBox "結果は" & c.val
End Sub
Public Sub SetByRef(ByRef a As String)
a = "OK"
End Sub