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

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

2024年8月29日

今回は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上級者を目指したい人にはパーフェクトExcel VBA一択です。
この本を読み切れば間違いなくVBA上級者になれます。

created by Rinker
技術評論社
¥3,608 (2024/12/02 20:25:22時点 Amazon調べ-詳細)
VBAが難しいと感じたら
ココナラにてVBAの作成依頼を受け付けています。
ご依頼・ご相談はこちらから

VBA

Posted by やろまい