まずはじめに、結論から言ってしまうと、関数の戻り値は常に1つです。
これは仕様上、変更できません。
しかし、1つの関数で複数の処理結果が欲しい場合があります。
そう言う場合には、ByRef(参照渡し)を使う事で実現できます。
Sub Main()
Dim a As Integer = 100
Dim b As Integer = 10
Dim tasizan As Integer = 0
Dim hikizan As Integer = 0
keisan(a, b, tasizan, hikizan)
Console.WriteLine("{0}, {1}", tasizan, hikizan)
End Sub
Sub keisan(data1 As Integer, data2 As Integer,
ByRef ans1 As Integer, ByRef ans2 As Integer)
ans1 = data1 + data2
ans2 = data1 - data2
End Sub
110, 90
この例は、keisan関数で足し算と引き算をしてもらい、
表示するプログラムです。
keisan関数では、第3引数と第4引数が参照渡しになっており、
足し算と引き算の計算結果がそれぞれ格納されます。
変数ans1の値を変更する事でtasizanの値が変更されます。
同じく、変数ans2の値を変更する事でhikizanの値が変更されます。
これで、戻り値を使う事なく、
1つの関数で複数の結果を得る事ができました。
ByRef(参照渡し)についてはコチラのページをご覧ください。