このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】SubとFunctionの違いを解説

今回はVBAのSubプロシージャとFunctionプロシージャの違いを解説します。

両者は次の2つの点で違いがあります。

  • マクロの実行で呼び出せるか
  • 戻り値があるか
エンジニア転職(PR)
20代まで! ウズカレITは未経験者を募集しています。

SubとFunctionの違いは次の2つ

SubFunction
マクロの実行で呼び出せる×
戻り値がある×
SubとFunctionの違い

SubとFunctionの違いは上の表のようになります。

基本的にマクロを実行するためのプロシージャはSubで、戻り値が出したいプロシージャはFunctionで作成します。

マクロの実行で呼び出せるか

マクロの実行

マクロの実行やマクロの登録ができるのはSubプロシージャのみです。

Excelシート側から実行するプロシージャはSubとしておく必要があります。

戻り値があるか

Function FuncProcedure() As String
    FuncProcedure = "戻り値"
End Function

戻り値が設定できるプロシージャはFunctionのみです。

Excel関数のように、値を返す関数を作りたいときはFunctionプロシージャを使う必要があります。

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらってはいかがでしょう?
VBAの作成依頼はこちらから

《VBA中級者向けの本》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。

created by Rinker
技術評論社
¥3,608 (2023/12/01 14:39:59時点 Amazon調べ-詳細)

他の「VBA」の記事はこちらからどうぞ

VBA

Posted by やろまい