連結決算における仕訳作業は、内部取引の消去や投資と資本の相殺など、繰り返し発生する定型処理が多く含まれます。Excelを使ってこれらを手作業で行うと時間がかかり、ミスのリスクも高まります。そこで役立つのがVBAによる自動化です。本記事では、連結仕訳を自動で処理するExcel VBAのサンプルと実務での活用方法を解説します。VBAによる自動仕訳を理解すれば、連結決算の効率化が大きく進みます。
連結決算で必要となる仕訳には大きく3つの種類があります。第一に、親子会社間や子会社同士の取引を相殺する「内部取引消去」。第二に、親会社の投資勘定と子会社の資本金を相殺する「投資と資本の消去」。第三に、未実現利益やのれんの処理です。定型化しやすい仕訳を中心にVBAで自動化するのが実務的です。
Excel関数だけで処理しようとすると、複雑な数式やリンクが増えてブラックボックス化しやすくなります。VBAを導入することで、処理の流れをコード化し、誰でも再現できる形に残せるのが大きな利点です。
さらに、処理をワンクリックで実行できるようになるため、作業時間を大幅に削減できます。特に子会社数が多いグループ企業では、時間短縮効果が顕著に表れます。
以下は、内部取引の消去仕訳を自動で生成する簡易的なVBAサンプルです。2つのシートにある売上と仕入を突合し、相殺仕訳を出力します。
Sub EliminateIntercompanyTransactions()
Dim wsSales As Worksheet, wsPurchases As Worksheet, wsOutput As Worksheet
Dim lastRowS As Long, lastRowP As Long, i As Long, j As Long, rowOut As Long
Set wsSales = ThisWorkbook.Sheets("Sales")
Set wsPurchases = ThisWorkbook.Sheets("Purchases")
Set wsOutput = ThisWorkbook.Sheets("Elimination")
lastRowS = wsSales.Cells(wsSales.Rows.Count, 1).End(xlUp).Row
lastRowP = wsPurchases.Cells(wsPurchases.Rows.Count, 1).End(xlUp).Row
rowOut = 2
For i = 2 To lastRowS
For j = 2 To lastRowP
If wsSales.Cells(i, 1).Value = wsPurchases.Cells(j, 1).Value _
And wsSales.Cells(i, 2).Value = wsPurchases.Cells(j, 2).Value Then
wsOutput.Cells(rowOut, 1).Value = "売上消去"
wsOutput.Cells(rowOut, 2).Value = wsSales.Cells(i, 3).Value
wsOutput.Cells(rowOut, 3).Value = -wsPurchases.Cells(j, 3).Value
rowOut = rowOut + 1
End If
Next j
Next i
End Sub
このコードは非常にシンプルですが、取引先コードや金額が一致する場合に自動で仕訳を作成できます。突合と仕訳生成を同時に実行できるのがVBAの強みです。
次に、親会社の投資勘定と子会社の資本金を自動で相殺するVBAのサンプルです。
Sub EliminateInvestmentAndCapital()
Dim ws As Worksheet
Dim lastRow As Long, i As Long, rowOut As Long
Set ws = ThisWorkbook.Sheets("Investment")
rowOut = 2
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
ws.Cells(i, 4).Value = "投資と資本の消去"
ws.Cells(i, 5).Value = -ws.Cells(i, 2).Value
ws.Cells(i, 6).Value = ws.Cells(i, 3).Value
Next i
End Sub
このサンプルでは、投資額と資本金を突き合わせて自動で相殺仕訳を出力します。資本消去の自動化によって入力の手間が大幅に軽減されます。
サンプルコードをそのまま実務に使うのではなく、会社ごとの勘定科目体系や仕訳ルールに合わせてカスタマイズする必要があります。マスタ参照方式を取り入れると柔軟に対応可能です。
また、ログ出力やエラー検出を組み込むことで、仕訳の正確性を担保できます。特に金額が一致しなかった取引は別シートに抽出し、差異一覧を自動生成する仕組みが有効です。
便利な一方で、VBAには注意点もあります。まず、担当者依存になりやすい点です。コードがブラックボックス化すると、引き継ぎが難しくなります。属人化の回避にはコメントやマニュアルの整備が欠かせません。
また、Excelのバージョン更新や環境変更で動作が不安定になることもあります。定期的にテストを行い、保守性を意識した管理を続けることが大切です。
連結仕訳の自動化は、Excel VBAを活用すれば比較的容易に実現できます。内部取引の消去や投資と資本の相殺など定型作業を効率化し、正確性とスピードを両立することが可能です。自社に合った形にカスタマイズし、安定した運用を目指しましょう。
連結会計システム(連結決算システム)は多機能なシステムを導入すればいいというわけではなく、自社に適したシステムを見極めて導入することが欠かせません。
本サイトでは、会社の特徴別におすすめの連結会計システムを紹介します。


