カテゴリ: VB.NET 更新日: 2026/04/10

VB.NETで戻り値を返す関数の書き方を初心者向けに解説

VB.NETで戻り値を返す関数の書き方
VB.NETで戻り値を返す関数の書き方

先生と生徒の会話形式で理解しよう

生徒

「先生、VB.NETで計算した結果を別の場所で使いたいときはどうすればいいですか?」

先生

「その場合は、戻り値を返すFunctionを使うと便利です。Functionは値を返すことができるメソッドのことです。」

生徒

「値を返すって、具体的にはどういうことですか?」

先生

「例えば足し算をする関数を作った場合、その計算結果を呼び出し元に返して、他の計算や表示に使うことができます。」

1. VB.NETのFunctionとは?

1. VB.NETのFunctionとは?
1. VB.NETのFunctionとは?

VB.NETのFunctionは、ある処理を行ったあとに、その結果を「戻り値」として呼び出し元へ返すための仕組みです。たとえば電卓のように、計算した結果を別の処理でも使いたいときにとても便利です。戻り値とは、関数が最後に「これが答えです」と返してくれる値のことで、プログラム全体でその結果を活用できる点が大きな特徴です。

イメージしやすく言えば、Functionは「質問に対して必ず答えを返す仕組み」です。たとえば「5 + 3 の答えは?」と聞かれたら「8」と返すように、Functionは計算や処理の結果をきちんと返してくれます。初めてVB.NETを触る人にとっても、処理と結果が分かりやすく整理できるので、プログラムが理解しやすくなる重要な仕組みです。

次のような簡単な例を見ると、Functionがどう動くのかイメージがつかみやすくなります。


Function GetHello() As String
    Return "こんにちは!"
End Function

Dim msg As String
msg = GetHello()
Console.WriteLine(msg)

こんにちは!

この例では、GetHelloというFunctionが文字列を戻り値として返しています。呼び出し側では、その結果を変数に受け取り、表示しています。これがFunctionの基本的な役割です。

2. Functionの基本構文

2. Functionの基本構文
2. Functionの基本構文

VB.NETでFunctionを書くときは、まずFunctionというキーワードで始まり、最後をEnd Functionで閉じます。また、戻り値としてどのような型の値を返すのかを、As 型名で指定する必要があります。これを「戻り値の型」と呼びます。Functionは “計算をして結果を返す仕組み” と理解するとわかりやすいでしょう。

初心者の方は、まず「値を受け取って、その結果を返す」というシンプルな構造を意識することが大切です。次の例は、足し算の結果を返すだけのとても基本的なFunctionです。


Function AddNumbers(ByVal a As Integer, ByVal b As Integer) As Integer
    Dim result As Integer
    result = a + b   ' aとbを足してresultに入れる
    Return result    ' 計算結果を呼び出し元へ返す
End Function

Dim sum As Integer
sum = AddNumbers(3, 5) ' Functionの戻り値を受け取る
Console.WriteLine("合計は " & sum)

合計は 8

このサンプルでは、2つの数字を渡すと、Functionが内部で計算し、その結果をReturnで返しています。呼び出した側は、その返された値を受け取り、好きな処理に使うことができます。戻り値のおかげで、同じ計算処理を何度でも再利用できるのがFunctionの大きな魅力です。

3. 戻り値の型と使い方

3. 戻り値の型と使い方
3. 戻り値の型と使い方

VB.NETのFunctionでは、「どんな種類の値を返すのか」をAs 型名で必ず指定します。これを戻り値の型と呼びます。例えば数字を返したいならInteger型、文章を返したいならString型というように、関数ごとに1つだけ決めておきます。戻り値の型と実際にReturnで返す値の種類が違うと、コンパイルエラーになってしまうので注意が必要です。

イメージとしては、「このFunctionは最終的にどんな箱を渡してくれるのか」をあらかじめ決めておく感覚です。箱を「文字の箱(String)」にすると決めたなら、中身も文字列だけを入れて返す、といったルールになります。まずは文字列を返すシンプルな例で、戻り値の型と使い方を確認してみましょう。


Function GetGreeting(ByVal name As String) As String
    ' nameを受け取り、あいさつ文(文字列)を作って返す
    Return "こんにちは、" & name & "さん!"
End Function

Dim message As String
message = GetGreeting("太郎")  ' 戻り値(String型)を変数に代入
Console.WriteLine(message)

こんにちは、太郎さん!

このサンプルでは、GetGreetingというFunctionの戻り値の型をAs Stringと指定しています。そのため、Returnで返しているのも文字列です。呼び出し側では、戻ってきた文字列をmessage(これもString型)という変数に入れてから表示しています。戻り値の型と、受け取る変数の型がそろっているので、違和感なく扱えるわけです。

同じ考え方で、数値を計算して返したいときはAs IntegerAs Doubleを使います。VB.NETのFunctionでは、このように「どんな型の値を返すか」をはっきり決めておくことで、戻り値を安心して再利用できるようになり、プログラム全体の見通しも良くなります。

4. FunctionとSubの違い

4. FunctionとSubの違い
4. FunctionとSubの違い

VB.NETには値を返さないSubがあります。Subは処理を実行するだけで、結果を返しません。一方、Functionは戻り値を返せるので、計算結果を他の処理に利用したいときに使います。


Sub ShowSum(ByVal a As Integer, ByVal b As Integer)
    Console.WriteLine("合計は " & (a + b))
End Sub

Dim total As Integer
total = AddNumbers(3, 5) 'Functionなら結果を変数に格納可能
ShowSum(3, 5) 'Subは結果を変数に格納できない

このように、Functionは値を返すので再利用性が高く、Subは単純に処理を実行するだけです。

5. 実践的な活用例

5. 実践的な活用例
5. 実践的な活用例

例えば、VB.NETで税額計算を行うFunctionを作ると、計算結果を他のメソッドや画面表示で簡単に使えます。


Function CalculateTax(ByVal price As Double, ByVal rate As Double) As Double
    Return price * rate / 100
End Function

Dim tax As Double
tax = CalculateTax(1000, 10)
Console.WriteLine("消費税は " & tax & "円です")

消費税は 100円です

このように戻り値を返すFunctionを使うと、計算ロジックをまとめて再利用することができ、コードの見通しも良くなります。

まとめ

まとめ
まとめ

VB.NETで戻り値を返すFunctionを活用することで、処理の結果を柔軟に他の場所へ渡せるようになり、プログラム全体の構造が整理され、再利用性の高いコードを書くことができます。特に初心者にとって、Functionがどのように動作し、どの場面で使えばよいのかを理解することは、VB.NETの基礎力を高める重要なポイントとなります。Functionは、計算処理、文字列の加工、条件判定など、さまざまな用途で活躍し、戻り値という仕組みを通じて結果を呼び出し元へ返すことで、複数の処理を組み合わせた大きな機能を作りやすくなります。 この記事で学んだように、Functionの書き方には決まった構造があり、引数の型や戻り値の型を正しく定義することが重要です。また、Function内部で処理を行い、必要な値だけを戻すことで、余計なコードを何度も書く必要がなくなり、バグの発生率も下がります。さらに、Subとの違いを理解することで、値を返すべき場面と返さなくてよい場面を判別できるようになり、コードの意図もはっきりして、読みやすさも向上します。 VB.NETの学習を進めていく中で、Functionは必ずと言ってよいほど多用される機能です。特に複雑なプログラムを扱う場合、Functionの使い方が上手いかどうかでコード品質が大きく変わります。Functionで値を返し、その結果を別のFunctionや画面表示に利用することで、ロジックを繰り返し使えるようになり、よりスマートなプログラムが作れるようになります。また、変数や引数の名前付けを工夫することで、処理の流れを直感的に把握できるようになり、初心者でも安心してコードを読み進められる構造を作ることができます。

追加のサンプルプログラム


'商品の価格と割引計算を行うFunction
Function CalculateDiscountPrice(ByVal price As Integer, ByVal discountRate As Integer) As Integer
    Dim discountAmount As Integer = price * discountRate / 100
    Return price - discountAmount
End Function

'ユーザーの挨拶メッセージを生成するFunction
Function CreateWelcomeMessage(ByVal userName As String, ByVal isMember As Boolean) As String
    If isMember Then
        Return "ようこそ会員の" & userName & "さん!"
    Else
        Return "こんにちは、" & userName & "さん!"
    End If
End Function

Dim finalPrice As Integer = CalculateDiscountPrice(5000, 20)
Dim message As String = CreateWelcomeMessage("花子", True)

Console.WriteLine("割引後の価格: " & finalPrice & "円")
Console.WriteLine(message)

このサンプルでは、Functionを使って割引価格を計算し、別のFunctionで挨拶文を生成しています。こうした構造を取り入れることで、それぞれのFunctionがひとつの明確な役割を持ち、コード全体が整った形になります。また、Functionの戻り値を使用して複数の処理を組み合わせることで、さらに高度な機能も構築できるようになります。たとえば、在庫管理、売上計算、ユーザー情報の整形など、多くのロジックをFunctionでまとめることで、プログラムの再現性や読みやすさが向上します。 また、Functionによる戻り値は、開発者にとって非常に扱いやすい仕組みであり、値を受け取ってから別の場所で利用することによって、処理の流れがより自然になります。コードの整理にも大きく寄与するため、初心者こそ積極的にFunctionを活用してコードを組み立てていくことが望ましいと言えます。特に、VB.NETではFunctionが柔軟に使えるため、計算・整形・判定といった幅広い場面で活用できます。

先生と生徒の振り返り会話

生徒

「Functionを使うことで、計算結果や文字列を返して、いろいろな場所で活かせるのがよく分かりました!」

先生

「その通りです。単に処理を実行するだけならSubでもいいのですが、戻り値が必要な場面はFunctionが最適ですね。」

生徒

「引数の型や戻り値の型を間違えるとエラーになる理由も理解できました。型を意識して書くことが大事なんですね。」

先生

「はい。VB.NETは型を正確に扱う言語なので、型の指定は特に重要です。慣れれば自然に書けるようになりますよ。」

生徒

「今回のサンプルも分かりやすかったです!戻り値をうまく活かせるように練習してみます。」

先生

「ぜひ続けてください。Functionを自在に使いこなせるようになると、VB.NETでできることがぐっと広がりますよ。」

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET Web APIのモデルバインディングと入力検証を完全解説!初心者でもわかる仕組み
New2
ASP.NET
Visual Studio CodeでASP.NET開発を始める方法|初心者向け完全ガイド
New3
VB.NET
VB.NETのコーディング規約を完全解説!初心者でもわかる読みやすいコードの基本ルール
New4
VB.NET
VB.NETで日時の丸め処理を完全マスター!秒切り捨てや四捨五入の方法
人気記事
No.1
Java&Spring記事人気No1
ASP.NET
ASP.NET WebFormsとは?基本概念と仕組みを初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
VB.NET
VB.NETで日付を文字列に変換!ToStringやFormatの使い方を徹底解説
No.3
Java&Spring記事人気No3
ASP.NET
ASP.NETとは?初心者向けにできることと特徴をやさしく解説
No.4
Java&Spring記事人気No4
VB.NET
VB.NETプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.5
Java&Spring記事人気No5
VB.NET
VB.NETのインストール方法まとめ!Visual Studioを使った環境構築手順
No.6
Java&Spring記事人気No6
VB.NET
VB.NETで日付と時間を比較・計算する方法!CompareとSubtractを完全解説
No.7
Java&Spring記事人気No7
ASP.NET
ASP.NETのパスワード管理を完全解説!初心者でもわかる安全な保存と運用の基本
No.8
Java&Spring記事人気No8
VB.NET
VB.NETで戻り値を返す関数の書き方を初心者向けに解説