シート画面
「集計」ボタンをクリックすると、決算報告書の科目列と決算額の列をクリアし、支出の科目を上から順に金額を合計し、「決算報告」シートに科目名と合計金額を入力します。
下画像の場合、収入に1が入力されている「事務費」→「会議費」→「雑費」の順になります。
支出の部の科目に、支出科目名と決算額に合計金額が記入されています。
決算額は「事務費」が1,100円、「会議費」が3,560円、「雑費」が1500円で合計6,160円で合っています。
下記のVBAコードに変更してください。
'支出の金額集計
Private Function ExPaySyuuKei(km As String) As Long
Dim last As Long
Dim i As Long
Dim ltotal As Long
'元帳の最後の行
last = Sheets("元帳").Range("E65536").End(xlUp).Row
ltotal = 0
For i = 4 To last
If Cells(i, 5) = km Then
ltotal = ltotal + Cells(i, 7)
End If
Next
ExPaySyuuKei = ltotal
End Function
Private Sub ExSyuuKei()
Dim i As Long
Dim sk As String
Dim strow As Long
Dim lt As Long
strow = 11
Sheets("決算報告").Range("B11:B20").ClearContents
Sheets("決算報告").Range("D11:D20").ClearContents
'収入の集計
For i = 4 To 13
If Cells(i, 16) = 1 And Cells(i, 15) <> "" Then
sk = Cells(i, 15)
lt = ExIncomeSyuuKei(sk)
Sheets("決算報告").Cells(strow, 2) = sk
Sheets("決算報告").Cells(strow, 4) = lt
strow = strow + 1
End If
Next
strow = 25
Sheets("決算報告").Range("B25:B34").ClearContents
Sheets("決算報告").Range("D25:D34").ClearContents
'支出の集計
For i = 4 To 13
If Cells(i, 17) = 1 And Cells(i, 15) <> "" Then
sk = Cells(i, 15)
lt = ExPaySyuuKei(sk)
Sheets("決算報告").Cells(strow, 2) = sk
Sheets("決算報告").Cells(strow, 4) = lt
strow = strow + 1
End If
Next
End Sub