関数の戻り値を返すには?

解決


名無し  2006-07-03 22:41:25  No: 132170

private Subで関数をつくり、その中で計算した値を関数以外のところで使いたいんですがどうすればできるんでしょう?
知識不足なのでご教授下さい。


特攻隊長まるるう  2006-07-03 22:57:41  No: 132171

Sub は戻り値を返しません。Function が戻り値を返します。
関数名に値を設定する形で戻り値を設定できます。
 # [VB.NET]の場合、Return の後に戻り値を書くこともできます。

もしくは、引数を ByRef で宣言する。

もしくは、グローバルな変数を使う。

などが利用できます。このあたりの基本的なことはヘルプ
にも載っていますが、入門本にも必ず書いてあることです。
『VB入門』といったタイトルの本を1冊買って読むことを
お勧めします。


(><)  2006-07-03 23:16:43  No: 132172

例えば・・・

関数************************************************
Public Function kansu(i As Integer) As Integer
    i = i + i
    kansu = i
End Function
****************************************************

実行****************************************************
    Dim i As Integet
    Dim kotae As Integer
    i = 3
    kotae = kansu(i)
    Msgbox(kotae)
****************************************************

という感じで。
まず、関数のほうは、まるるうさんのレスにあるようにSubでは無理なので
Functionに。

kansu(i As Integer)のようにkansuは実行の際にiという変数をもらっています。
これは実行の所にi = 3
                kotae = kansu(i)
としています。

関数内でiを処理し答えである6をkansuに代入しています。(kansu自体はIntegerで宣言)

最後にkansuは6という数字を持ってkotaeに6を代入しています。

#あ〜だめだ〜・・・日本語がおかしいよ〜><;
#風邪引いて頭ぼんやりしているので感じだけわかってもらえれば何より・・・orz


名無し  2006-07-03 23:33:56  No: 132173

わかりました。ありがとうございます。出来ました。
丁寧に教えて下さりありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加