EXCEL VBA 消費税対応10%・8%(軽減税率) 自動計算 (テクニック)

EXCEL VBA 消費税対応10%・8%(軽減税率) 自動計算 (テクニック)

 

●はじめに

2019年10月1日より消費税が10%に引き上げられます。今までの消費税増税では全ての物やサービスなどに対して一律で3%・5%・8%と税率が引き上げられましたが、今回の増税につきましては、全て10%に税率を引き上げられるのでは無く、特定の品目に対して軽減税率(8%)が適用されます。この軽減税率があることにより複雑化されます。例としてミネラルウォーターは、税率8%で水道水は税率10%になります。品目により税率定義が細かく分類されているので、注意が必要です。

なお、私自身税理士ではありませんので、内容等に誤り等がある可能性もありますので、ご了承下さい。あくまでもサンプルプログラムとして、参考程度で活用して下さい。

 

EXCEL VBAを使った消費税対応プログラム

 

 

●プログラム説明(サンプル①)
(画像クリックで拡大)

下記のプログラムは、2019年10月から引き上げられる消費税10%対応および軽減税率8%にも対応している簡易プログラムになります。あくまでも簡易プログラムなので、複雑な消費税対応はできませんが、以下の条件は対応しています。

【対応内容】
①消費税8%(2019年9月30日までの消費税8%計算・非課税)
②消費税10%(2019年10月1日以降の消費税10%計算・非課税)
③軽減税率8%(2019年10月1日以降の軽減税率対象の8%計算)

注意:勘定科目の国税については、税率を計算せずに非課税として表示させています。

【事前説明】
●左側の表は、「費用データ」A列~F列 ・ 右側の表は、「内容項目」H列~L列

下表の費用データの「内容」に応じて消費税計算を行います。費用データは、精算日・勘定科目名・内容・出金額のデータが入力されています。右の内容項目は、品目(内容項目)に応じて2019年9月30日までの消費税額と2019年10月1日以降の消費税額が表示されています。精算日と内容を比較して該当する消費税で消費税額を計算プログラムです。

青枠は、8%計算(2019年9月まで)赤枠は、10%計算及び軽減税率8%計算(2019年10月以降)

 

Sub shouhizei()

    Dim I, lRow, mRow, xRow, rCol As Long
    
    
    lRow = Cells(Rows.Count, "A").End(xlUp).Row 'A列の最終行取得(経費データ)
    
    xRow = Cells(Rows.Count, "H").End(xlUp).Row  'H列の最終行取得(内容データ)
    
    For I = 2 To lRow
    

        If Cells(I, "A") < "2019/10/01" Then 'A列の日付が2019年10月01日前か判定する。

                    rCol = 9    '判定結果が10月01日前なら9列(I)列の消費税を参照する。
            Else
                    rCol = 11   '判定結果が10月01日以降前なら11列(K)列の消費税を参照する。
            
        End If
        
        mRow = 0
        On Error Resume Next 'エラーが発生しても続行する(該当する内容と内容項目に一致内容がないとエラーが発生するため)
            mRow = WorksheetFunction.Match(Cells(I, "C"), Range("H3:H" & xRow), 0) + 2 '内容から該当する内容項目の行番号を「mRow」に代入する。
        On Error GoTo 0  'エラーが発生してもそのまま
        
        If mRow = 0 Then  '0は、エラーが発生した時
            Cells(I, "E") = "該当無し"  '内容項目に無い項目を参照したら”E列に”該当無し”と表示する。
            
            Else
                Cells(I, "E") = Cells(mRow, rCol + 1)  'E列に該当する税項目を表示する。
                Cells(I, "F") = Int(Cells(I, "D") * Cells(mRow, rCol) / (100 + Cells(mRow, rCol)))
                '消費税計算を行う
        End If

    
    Next I
    
End Sub

 

 

●実行前から実行後  ※プログラム実行後に「費用データ:左表」の税項目・消費税額に「内容項目:右表」から抽出された税項目と消費税より消費税額が自動計算されました。
精算日が9月30日までは、消費税8%での計算。10月1日以降については、消費税10%の計算及び軽減税率が適用されている8%で計算されています。

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。

 

 

AKIRA