ユーザー定義関数を利用する〜Excel 2013 マクロ講座
Excel 2013 マクロ講座 税抜き価格を求めるユーザー定義関数
ユーザー定義関数を利用する〜Function プロシージャ
Function プロシージャは、VBAでユーザが定義する関数です。
単独で実行するよりも、Subプロシージャなどから呼び出して、一定の処理を実行し、結果として値を返すというのが、一般的です。
また、ユーザー定義関数は、Excelのワークシート上でユーザー定義関数として利用することもできます。
今回のサンプルは、税抜き価格を求めるユーザー定義関数と、三角形の面積を求めるユーザー定義関数の2つを作成します。
(サンプルファイルは、こちらから 2013マクロ講座42回サンプルデータ)
ユーザー定義関数を利用する
FunctionプロシージャとSubプロシージャ構文上の違いは、Functionプロシージャが最終的にプロシージャ名に値を代入するという形で、呼び出し元に戻り値を返すことです。
また、その戻り値のデータ型として、Functionプロシージャ自体にデータ型を指定します。
また、その戻り値のデータ型として、Functionプロシージャ自体にデータ型を指定します。
Functionプロシージャの構文


では、さっそく作成してみましょう。
簡単なところで、税抜き金額を表示するユーザー関数を作ります。
簡単なところで、税抜き金額を表示するユーザー関数を作ります。
プロシージャ名をOfftaxにして、引数PはIntegerとします。


Function Offtax(P As Integer) As Integer
Offtax = P / 1.08
End Function
Sub 本体価格()
Dim Price As Integer
Price = Offtax(Range("B2").Value)
MsgBox "税抜きの本体価格は" & Price & "円です"
End Sub
本体価格マクロを実行すると、
結果として税抜き価格がメッセージボックスで表示されます。


スポンサーリンク
スポンサーリンク
ユーザー定義関数は、ワークシート上で使うこともできます。


三角形の面積を求めるユーザー関数
三角形の面積を求める公式は、
(底辺)×(高さ)÷2 これを、ユーザー定義関数にするには、
引数は2つで底辺、高さですね。
(底辺)×(高さ)÷2 これを、ユーザー定義関数にするには、
引数は2つで底辺、高さですね。
プロシージャ名をareaoftriangleにして、引数の型は、Doubleに


普通の関数と同様にワークシート上で使えます。



今日の講義は以上です。お疲れ様でした。
スポンサーリンク
スポンサーリンク