Excel自作 VBA 関数
2019年(令和元年)10月1日以降に対応する消費税額を計算する関数 です。
VBEの標準モジュールに下のコードを登録して「Excelマクロ有効フォーム」で保存してください。
関数の登録方法は⇒♯000 ユーザー定義関数を登録する方法
登録されたら、シート上からユーザー関数「 CTAX」が使用できます。
使い方は
ワークシート上で = CTAX(金額,[軽減税率],[日付])の関数として使用することで、 2019年(令和元年)10月1日以降に対応する消費税率 を計算できます。
CTAX(金額,[軽減税率],[日付])
2019年 (令和元年)10月1日以降に対応する消費税額を計算する関数
項目[軽減税率]は省略及び 0で軽減税率なし、1で 2019年 ( 令和元年)10月以降日付の場合の減免税率8%で計算
項目[日付]は省略すると、令和元年10月以降の消費税率で計算、入力すると入力日の消費税率で計算
[例]
CTAX(50000,0,2020/1/1) → 5,000 令和2年1月1日、金額50,000円、軽減税率なし
CTAX(50000,1,2020/1/1) → 4,000 令和2年1月1日、金額50,000円、軽減税率あり
CTAX(50000,0,2019/6/1) → 4,000 令和元年6月1日、金額50,000円、軽減税率あり
CTAX(50000) → 5,000 令和元年10月1日以降、金額50,000円、軽減税率なし
Function CTAX(AMoney As Long, Optional ReducedTax As Long = 0, Optional PDate As Date = #10/1/2018#)
'令和元年10月1日以降に対応する消費税額を計算する関数
'CTAX(金額,[軽減税率],[日付])
'項目[軽減税率]は省略及び 0で軽減税率なし、1で令和元年10月以降日付の場合の軽減税率率8%で計算
'項目[日付]は省略すると、令和元年10月以降の消費税率で計算、入力すると入力日の消費
'CTAX(50000,0,2020/1/1) → 5,000 令和2年1月1日、金額50,000円、軽減税率なし
'CTAX(50000,1,2020/1/1) → 4,000 令和2年1月1日、金額50,000円、軽減税率あり
'CTAX(50000,0,2019/6/1) → 4,000 令和元年6月1日、金額50,000円、軽減税率あり
'CTAX(50000) → 5,000 令和元年10月1日以降、金額50,000円、軽減税率なし
On Error GoTo EXITFUN
Dim TaxRate As Double
If PDate < #4/1/1989# Then
TaxRate = CDec(0)
ElseIf PDate < #4/1/1997# Then
TaxRate = CDec(0.03)
ElseIf PDate < #4/1/2014# Then
TaxRate = CDec(0.05)
ElseIf PDate < #10/1/2018# Then
TaxRate = CDec(0.08)
ElseIf PDate >= #10/1/2018# And ReducedTax = 0 Then
TaxRate = CDec(0.1)
ElseIf PDate >= #10/1/2018# And ReducedTax = 1 Then
TaxRate = CDec(0.08)
End If
CTAX = Int(AMoney * TaxRate)
EXITFUN:
End Function
ここで紹介したコード使用による損害に対しては一切責任は負えません。