ユーザー定義関数で税抜き価格
マクロ講座42回
税抜き価格を求めるユーザー定義関数 Excel2013 マクロ講座
ユーザー定義関数を利用する~Function プロシージャ
Function プロシージャは、VBAでユーザが定義する関数です。
単独で実行するよりも、Subプロシージャなどから呼び出して、一定の処理を実行し、結果として値を返すというのが、一般的です。
また、ユーザー定義関数は、Excelのワークシート上でユーザー定義関数として利用することもできます。
今回のサンプルは、税抜き価格を求めるユーザー定義関数と、三角形の面積を求めるユーザー定義関数の2つを作成します。
(サンプルファイルは、こちらから 2013マクロ講座42回サンプルデータ)
ユーザー定義関数を利用する
FunctionプロシージャとSubプロシージャ構文上の違いは、Functionプロシージャが最終的にプロシージャ名に値を代入するという形で、呼び出し元に戻り値を返すことです。
また、その戻り値のデータ型として、Functionプロシージャ自体にデータ型を指定します。
また、その戻り値のデータ型として、Functionプロシージャ自体にデータ型を指定します。
Functionプロシージャの構文
では、さっそく作成してみましょう。
簡単なところで、税抜き金額を表示するユーザー関数を作ります。
簡単なところで、税抜き金額を表示するユーザー関数を作ります。
プロシージャ名は任意ですが、ここではOfftaxにして、引数PはIntegerとします。
使用する金額が大きい時は、Doubleを使ってください。
使用する金額が大きい時は、Doubleを使ってください。
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に
コードは、とても簡単です。
Function areaoftriangle(底辺 As Double, 高さ As Double) As Double areaoftriangle = 底辺 * 高さ / 2 End Function
普通の関数と同様にワークシート上で使えます。
今日の講義は以上です。お疲れ様でした。