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