カテゴリ: VB.NET 更新日: 2025/12/08

VB.NETのFunctionとSubの違いをわかりやすく解説!初心者向けガイド

VB.NETの関数(Function)と手続き(Sub)の違い
VB.NETの関数(Function)と手続き(Sub)の違い

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

生徒

「先生、VB.NETでメソッドを作るときにFunctionとSubのどちらを使えばいいんですか?」

先生

「FunctionとSubはどちらもメソッドですが、使い方が少し違います。簡単に言うと、Functionは値を返すメソッド、Subは値を返さないメソッドです。」

生徒

「値を返すってどういうことですか?」

先生

「例えば、計算した結果を戻して他の場所で使いたいときはFunctionを使います。一方で、画面にメッセージを表示するだけの処理ならSubで十分です。」

1. Subとは?値を返さない手続き

1. Subとは?値を返さない手続き
1. Subとは?値を返さない手続き

VB.NETのSubは「サブルーチン」の略で、処理をまとめた手続きです。Subは値を返さないため、主に処理を実行するだけのメソッドとして使います。


Sub ShowMessage()
    Console.WriteLine("こんにちは、VB.NETの世界へ!")
End Sub

'呼び出し
ShowMessage()

こんにちは、VB.NETの世界へ!

この例ではShowMessageを呼び出すと、メッセージが表示されます。Subは結果を返さず、呼び出すだけで処理が完了します。

2. Functionとは?値を返すメソッド

2. Functionとは?値を返すメソッド
2. Functionとは?値を返すメソッド

一方、Functionは処理を実行した結果を戻すことができるメソッドです。値を返すので、計算結果や文字列を呼び出し元で利用できます。


Function AddNumbers(a As Integer, b As Integer) As Integer
    Return a + b
End Function

Dim result As Integer
result = AddNumbers(5, 7)
Console.WriteLine(result)

12

この例ではAddNumbersというFunctionが5と7を足し、その結果をresultに戻しています。Functionを使うと、他の計算や処理に結果を活用できます。

3. SubとFunctionの違いを簡単に覚える方法

3. SubとFunctionの違いを簡単に覚える方法
3. SubとFunctionの違いを簡単に覚える方法

覚えやすい例えとして、Subは「ボタンを押すだけで動く機械」、Functionは「計算機で答えを出す機械」と考えるとわかりやすいです。

  • Sub: 値を返さない。呼ぶと処理を実行するだけ。
  • Function: 値を返す。呼ぶと処理後の結果を受け取れる。

Subは主に「表示」「ログ記録」「ファイル保存」などの処理で使われ、Functionは「計算結果を使う」「データを返す」処理に使われます。

4. 引数と戻り値の活用

4. 引数と戻り値の活用
4. 引数と戻り値の活用

SubとFunctionはどちらも引数を受け取れます。引数とはメソッドに渡す入力データのことです。


Sub Greet(name As String)
    Console.WriteLine("こんにちは、" & name & "さん!")
End Sub

Function Multiply(x As Integer, y As Integer) As Integer
    Return x * y
End Function

Greet("太郎")
Dim result As Integer = Multiply(3, 4)
Console.WriteLine(result)

こんにちは、太郎さん!
12

Subは引数を受け取って処理を変えることができ、Functionは引数に基づいて計算結果を返すことができます。

5. SubとFunctionを使い分けるポイント

5. SubとFunctionを使い分けるポイント
5. SubとFunctionを使い分けるポイント

プログラムを効率よく書くために、SubとFunctionを使い分けることが重要です。

  • 処理の結果を他で使わない場合はSubを使う
  • 計算結果やデータを返したい場合はFunctionを使う
  • 共通処理はSubでまとめ、計算や結果取得はFunctionでまとめると整理しやすい

これを理解すると、プログラムが読みやすくなり、再利用性も高まります。SubとFunctionの違いをしっかり覚えることで、VB.NETのメソッド活用がスムーズになります。

まとめ

まとめ
まとめ

本記事では、VB.NETのSubとFunctionの違いと使い方を詳しく解説しました。Subは値を返さず処理を実行するだけの手続きで、主に表示やログ、ファイル操作などの処理に適しています。一方、Functionは計算結果やデータを返すことができるメソッドで、戻り値を他の処理に利用したい場合に使います。どちらも引数を受け取ることができ、処理内容を柔軟に変更可能です。初心者が迷いやすいポイントは、値を返すか返さないかの違いを理解することです。

プログラムを効率的に書くためには、SubとFunctionを適切に使い分けることが重要です。処理の結果を利用しない場合はSub、計算結果やデータを戻す場合はFunctionを使います。また、共通処理や繰り返し使う処理はSubでまとめ、計算や値の返却が必要な処理はFunctionで作成すると、コードが整理され保守性が高くなります。さらに、引数を活用することで同じメソッドでも異なる入力に対応でき、プログラムの再利用性を高めることができます。

サンプルプログラムで振り返り


' Subの例: 値を返さず処理を実行
Sub ShowMessage(name As String)
    Console.WriteLine("こんにちは、" & name & "さん!")
End Sub

' Functionの例: 値を返す
Function Add(a As Integer, b As Integer) As Integer
    Return a + b
End Function

' 呼び出し
ShowMessage("太郎")
Dim result As Integer = Add(5, 7)
Console.WriteLine("計算結果: " & result)

こんにちは、太郎さん!
計算結果: 12

このサンプルから、Subはメッセージを表示するだけで値を返さず、Functionは計算結果を戻して他の処理で利用できることがわかります。引数を使うことで処理内容を柔軟に変更できる点もポイントです。

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

生徒

「SubとFunctionの違いは、値を返すか返さないかなんですね。」

先生

「その通りです。Subは処理を実行するだけで、Functionは処理後に値を返すので計算結果やデータを他で使えます。」

生徒

「引数を使えば同じSubやFunctionでもいろいろな処理ができるんですね。」

先生

「正解です。引数を活用すると、より汎用的で再利用性の高いメソッドを作ることができます。」

生徒

「使い分けを覚えると、プログラムが整理されて書きやすくなりますね。」

先生

「その通りです。Subと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で戻り値を返す関数の書き方を初心者向けに解説