Calcマクロの参照渡し

下記マクロを実行するとyの値が変化しません。
皆さんの環境ではいかがでしょうか。(どこか間違っている?)

バージョン: 6.1.5.2 (x64) Build ID:
90f8dcf33c87b3705e78202e3df5142b201bd805
CPU threads: 4; OS:Windows 10.0; UI
render: GL; ロケール: ja-JP (ja_JP);
Calc: CL

Sub Main
	Dim x, y, z As Integer
	x = 1: y = 2
	Msgbox("x = " & x &" : "& "y = " & y &" : "& "z = " & z)
	Get_S(x, y)
	Msgbox("x = " & x &" : "& "y = " & y &" : "& "z = " & z)
	z = Get_F(x, y)
	Msgbox("x = " & x &" : "& "y = " & y &" : "& "z = " & z)
End Sub

Sub Get_S(ByVal a  As Integer, ByRef b  As Integer)
	a = -3: b = -2
End Sub

Function Get_F(ByVal a  As Integer, ByRef b  As Integer) As Integer
	Dim c As Integer
	c = a + b
	a = -3: b = -2
	Get_F = c
End Function

他の件にも取り掛かっているので、ちょっとすぐにはExcel VBAでどのような挙動になるかはわからないし、StarBasic側のバグの可能性も十分あるが、とりあえず、関数の引数の型と呼び出し側の変数の型が一致するときは参照渡しが成功しているのを6.3系で確認した。なお、「Dim a, b As Integer」のaの型はVB.NETではIntegerであり、VBA/StarBasicでは、Variantであることに注意が必要

Sub Main()
    Dim x As Integer
    Dim y As Integer
    Dim z As Integer
    x = 1
    y = 2
    Msgbox("x = " & x &" : "& "y = " & y &" : "& "z = " & z)
    Get_S x, y
    Msgbox("x = " & x &" : "& "y = " & y &" : "& "z = " & z)
    z = Get_F(x, y)
    Msgbox("x = " & x &" : "& "y = " & y &" : "& "z = " & z)
End Sub
Sub Get_S(ByVal a As Integer, ByRef b As Integer)
    a = -3: b = -2
End Sub
Function Get_F(ByVal a  As Integer, ByRef b  As Integer) As Integer
    Dim c As Integer
    c = a + b
    a = -3
    b = -2
    Get_F = c
End Function

ご指摘の通り

Dim x, y, z As Integer

Dim x As Integer
Dim y As Integer
Dim z As Integer

の3行に分割したら意図通り参照渡しになりました。記述をさぼったらあかんのですね。
お騒がせしてすみませんでした。

ところでここのBBSはHTML形式で記述でしょうか?表示結果が改行されずに悩んでいたのですが <br> を入れたら改行しました。

以前Markdown系だと聞きました。

質問とコメントのコードが見づらかったので整形しています。
どこかに、ここの使い方を書いたほうがいいのかなぁ。

ここの書き方は、Markdownという記法で書きます。
対応していないものもありますが、書き方はこちらをご覧ください。

書き方がわからない場合は上にアイコンがあるので、ソースコードを書く場合は貼り付けたあと、その部分を選択して、0101と並んでいるアイコンをクリックするとコードの記述になります。