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

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

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

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

  • マクロの実行で呼び出せるか
  • 戻り値があるか

VBAが難しいと感じたら
ココナラでVBAの開発請負を行っています。
お気軽にご相談ください。

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

Posted by やろまい