Excel Excel関数とマクロVBA(消費税中間納付)

前回の消費税の中間納付の計算の一部をマクロVBAでやってみましょう。
003syouhizei
もちろん、ExcelのIF関数を使って判定、計算も出来ます。今回のケースでも、Excelの関数を使った方がやりやすいでしょう。しかし、条件分岐が増えてくるほど、ExcelのIF関数では難しくなってきます。赤枠の税額部分についてマクロVBAで計算します。
004syouhizei

以前紹介した、IF Then構文を使って、毎月納付なのか、年3回納付なのか、年1回納付なのか、それとも中間納付なしなのか順々に判定していきます。中間納付なし→年1回→年3回→毎月納付という順番の判定でIF Then構文を作ってみるのも面白いと思います。
今回、紹介したいのは、Excel関数をマクロVBAで使いたい場合です。
Excel関数と同じでVBAにも関数というものがあります。しかし、Excel関数=マクロVBA関数ではありません。同じ関数の名称でも若干処理が違ったり、Excel関数にあっても、マクロVBA関数にはない場合もあります。例えば、赤枠の部分のRoundDown。これは、Excel関数であり、計算した結果に端数があるときは、切り捨てをしてくれます。この関数は、マクロVBA関数には存在しません。マクロVBAでExcel関数を使いたいときには、Application.RoundDownと記述をすると使えるようになります。