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