ネットバンキングのデータを仕訳に変換する方法21~まとめ

Pocket

ExcelVBAで仕訳をインポートするメリットは3つ。
早い 10仕訳でも1000仕訳でも時間がほとんど変わらないのでボリュームが大きいほど効果が大きい
正確 残高が1発で合います。合わないときはインポートする前の処理で人間が間違えています。
ストレスフリー 入力作業は単調で付加価値の低い仕事です。しかも面倒。

今までネットバンキングのデータを仕訳に変換する方法を長々と綴ってきましたが、
銀行の仕訳は、多分月次の処理の中で半分くらいの割合を占めていると思います。

また現金出納帳もExcelVBAで変換できれば、7割くらいは完結するのではないで
しょうか。

一度仕組みさえ作ってしまえば、あとは摘要に追加していくだけなので、大変なのは最初の
一度だけ。そのあとはマウスでちょちょいと操作するだけで、現金と預金の仕訳が完了します。

サンプルファイルをダウンロードにアップしておくのでもしよければ遊んで見て下さい。

全コードです。

Sub 仕訳に変換()
Dim a As Integer
a = 2
Worksheets(“meisai”).Activate
Do Until Cells(a, 1).Value = “”

Worksheets(“Sheet1”).Cells(a, 1).Value = Left(Cells(a, 1).Value, 3) + 1988 & “/” & Mid(Cells(a, 1).Value, 5, 2) & “/” & Mid(Cells(a, 1).Value, 8, 2)

If IsNumeric(Cells(a, 3).Value) = True Then
Worksheets(“Sheet1”).Cells(a, 2).Value = 999
Worksheets(“Sheet1”).Cells(a, 3).Value = 121
Worksheets(“Sheet1”).Cells(a, 4).Value = Cells(a, 3).Value
Worksheets(“Sheet1”).Cells(a, 5).Value = Cells(a, 4).Value
Else
Worksheets(“Sheet1”).Cells(a, 2).Value = 121
Worksheets(“Sheet1”).Cells(a, 3).Value = 999
Worksheets(“Sheet1”).Cells(a, 4).Value = Cells(a, 4).Value
Worksheets(“Sheet1”).Cells(a, 5).Value = Cells(a, 3).Value
End If

On Error Resume Next
Worksheets(“Sheet1”).Cells(a, 2).Value = WorksheetFunction.VLookup(Cells(a, 4).Value, Worksheets(“摘要”).Range(“科目コード”), 2, False)
On Error GoTo 0

On Error Resume Next
Worksheets(“Sheet1”).Cells(a, 3).Value = WorksheetFunction.VLookup(Cells(a, 3).Value, Worksheets(“摘要”).Range(“科目コード”), 2, False)
On Error GoTo 0

On Error Resume Next
If Worksheets(“Sheet1”).Cells(a, 2).Value = 999 Then
Worksheets(“Sheet1”).Cells(a, 2).Value = WorksheetFunction.VLookup(Cells(a, 2).Value, Worksheets(“摘要”).Range(“科目コード”), 2, False)
End If
On Error GoTo 0

If Worksheets(“Sheet1”).Cells(a, 2).Value = 999 Then
If Worksheets(“Sheet1”).Cells(a – 1, 2).Value = 312 Then
Worksheets(“Sheet1”).Cells(a, 2).Value = 312
Worksheets(“Sheet1”).Cells(a, 5).Value = Worksheets(“Sheet1”).Cells(a – 1, 5).Value & “手数料”
Worksheets(“Sheet1”).Cells(a, 6).Value = Worksheets(“Sheet1”).Cells(a – 1, 6).Value
End If
End If

If Worksheets(“Sheet1”).Cells(a, 2).Value = 999 Then
If Worksheets(“Sheet1”).Cells(a – 1, 2).Value = 313 Then
Worksheets(“Sheet1”).Cells(a, 2).Value = 313
Worksheets(“Sheet1”).Cells(a, 5).Value = Worksheets(“Sheet1”).Cells(a – 1, 5).Value & “手数料”
End If
End If

If Worksheets(“Sheet1”).Cells(a, 2).Value = 999 Then
If Worksheets(“Sheet1”).Cells(a – 1, 2).Value = 319 Then
Worksheets(“Sheet1”).Cells(a, 2).Value = 319
Worksheets(“Sheet1”).Cells(a, 5).Value = Worksheets(“Sheet1”).Cells(a – 1, 5).Value & “手数料”
End If
End If

If Worksheets(“Sheet1”).Cells(a, 2).Value = 312 Then
On Error Resume Next
Worksheets(“Sheet1”).Cells(a, 6).Value = WorksheetFunction.VLookup(Cells(a, 4).Value, Worksheets(“摘要”).Range(“科目コード”), 3, False)
On Error GoTo 0
End If

If Worksheets(“Sheet1”).Cells(a, 3).Value = 166 Then
On Error Resume Next
Worksheets(“Sheet1”).Cells(a, 7).Value = WorksheetFunction.VLookup(Cells(a, 3).Value, Worksheets(“摘要”).Range(“科目コード”), 3, False)
On Error GoTo 0
End If
a = a + 1
Loop
End Sub

一部諸口で逃げたものについては、会計ソフトで変換して下さい。