本当か~?本当にそうか~?
確認コードのテンプレはこちら。
Option Compare Database
Option Explicit
Private Sub do_Click()
Dim str As String
str = "シャミ子"
'関数に渡す前
Debug.Print str
Call momo(str)
'関数に渡した後
Debug.Print str
End Sub
Private Function momo(arg As String)
arg = arg + "が悪いんだよ"
End Function
蛇足
別の言語からVBAに移ると、あれ?デフォルトってどっちだっけ?とか、ああ…VBAはデフォルトは参照渡しだったのね…、なんていろいろ間違えちゃうことあります。
『ByVal or ByRef を必ず付ける』というコード規約にすると良いかもですね。
VBE側で『ByVal』と自動補完してくれて、必要がある時だけ『ByRef』に変更、が一番ベストかなって思います。
できるだけ疎結合になるように。
参考サイトさん
バージョン
Windows10 Pro バージョン1909 OSビルド18363.1171
Access for Microsoft 365 MSO(16.0.13328.20262)32ビット