Excel VBA | Functionプロシージャ

VBA
スポンサーリンク

要点まとめ

Excel VBAの「Functionプロシージャ」は、値を返すことができる特別なプロシージャで、処理結果を呼び出し元に渡せる点が特徴です。Subプロシージャとの違いは「戻り値があるかどうか」です。


初心者向けポイント

  • Functionプロシージャとは?
    • Subプロシージャは「処理を実行するだけ」
    • Functionプロシージャは「処理を実行して結果を返す」
    • つまり「自作の関数」を作れるイメージ
  • 定義の書き方
Function 関数名(引数 As データ型) As 戻り値の型
    '処理内容
    関数名 = 戻り値
End Function
VB

As 戻り値の型 を書くことで、返す値の種類を指定する
最後に 関数名 = 値 と書くと、その値が戻り値になる

  • 具体例(点数を判定する関数)
Function hantei(ByVal tokuten As Integer) As String
    Dim kekka As String
    If tokuten >= 80 Then
        kekka = "合格"
    Else
        kekka = "不合格"
    End If
    hantei = kekka
End Function
VB

80点以上なら「合格」、それ以外は「不合格」を返す

  • 呼び出し方
Sub テスト()
    Dim kekka As String
    kekka = hantei(75)   ' → 「不合格」が返る
    Range("A1").Value = kekka
End Sub
VB

関数を呼び出すと、その結果を変数に代入したり、セルに書き込める


初心者へのアドバイス

  • 「戻り値を返す」ことがFunctionの最大の特徴
  • Excelのセル関数と同じように、自分専用の関数を作れる
  • 小さな処理を関数にまとめると、コードが読みやすく再利用しやすくなる

要するに、「処理結果を返す仕組みがFunctionプロシージャ」であり、初心者は「Subは処理だけ」「Functionは処理+結果を返す」と覚えると理解しやすいです。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました