Excel VBA | Functionプロシージャ

VBA
スポンサーリンク

まずはイメージ

  • Subプロシージャ:ただの「作業係」。呼び出すと処理をして終わり。
  • Functionプロシージャ:処理をして「結果」を返してくれる。Excelのセル関数(SUMやIFなど)と同じように、自分でオリジナル関数を作れる。

基本の書き方

Function 関数名(引数 As データ型) As 戻り値の型
    'ここに処理を書く
    関数名 = 戻り値
End Function
VB
  • 引数:関数に渡す材料(例:点数や数字)
  • 戻り値の型:返す結果の種類(例:文字列ならString、整数ならInteger)
  • 関数名 = 戻り値:これで結果を返す

例題1:合格判定関数

「80点以上なら合格、それ以外は不合格」と返す関数を作ってみましょう。

Function Hantei(ByVal tokuten As Integer) As String
    If tokuten >= 80 Then
        Hantei = "合格"
    Else
        Hantei = "不合格"
    End If
End Function
VB

呼び出し方

Sub Test()
    Dim kekka As String
    kekka = Hantei(75)   ' → 「不合格」が返る
    Range("A1").Value = kekka
End Sub
VB

例題2:消費税を計算する関数

「金額に消費税を足して返す」関数を作ってみましょう。

Function AddTax(ByVal price As Double) As Double
    AddTax = price * 1.1   ' 消費税10%を加算
End Function
VB

呼び出し方

Sub TestTax()
    Dim total As Double
    total = AddTax(1000)   ' → 1100 が返る
    Range("A1").Value = total
End Sub
VB

初心者へのコツ

  • Subは「処理だけ」Functionは「処理+結果を返す」と覚える
  • 小さな処理を関数にまとめると、コードがスッキリして再利用できる
  • Excelのセル関数を「自分で作れる」と考えると理解しやすい

👉 ここまでで「Functionプロシージャは結果を返す仕組み」と理解できたと思います。
次のステップとして「複数の引数を使う関数」や「文字列を加工する関数」に挑戦すると、さらに応用力がつきます。

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