用了这套现金日记账模板,出纳再也不用加班了。我最早是在18年的10月份从事财务工作,是一家房地产公司,当然刚进去的时候是作出纳,每天让我最头条的一件事情就是,每天卖了房子的资金流水。各种核对,加错好几次,天天加班。现在想来,就是那会的报表太过于繁琐,而且很多数据体现的步骤很麻烦。
从那之后,我就有了喜欢收集各种报表的习惯,财务的出纳的,库存管理各种表格。一直在做分享这件事情,所以今天同样,给大家分享一套现金日记账的模板,我觉得是很实用的,都自带公式计算,可以自动生成汇总,给大家看以下:
这个是现金日记账

第二张表是对账表

最后一张是货币资金日记账,可以分多账户登记

如果大家觉得这几张表适合自己的平时工作的需求,下边有获取方式大家可以找我。
那时的现金日记账汇总表,是用VBA+公式完成,分成了两步。现在卢子看了,有点多此一举,直接VBA一步到位,这样堪称完美。
每一家银行日记账格式都一样,余额都放在E列,现在要实现将银行还有对应的最后余额提取到汇总表。

先来看最终效果,点下汇总按钮,1秒钟就搞定,还给你一个提示对话框”报告卢子,提取完毕”。

今天就不录制宏了,教你如何在原来的基础上面改代码。
前面一直有提到目录的代码。
Sub 目录()
Dim i As Integer
For i = 2 To 6
Range(“a” & i) = Sheets(i).Name
Next
End Sub
这个代码其实是不智能的,需要每次都数一下有多少工作表,将6改成Sheets.Count,让代码帮你数工作表。这样就可以智能的,不管多少工作表都可以。
更完美的目录提取代码就出来了。
Sub 目录()
Dim i As Integer
For i = 2 To Sheets.Count
Range(“a” & i) = Sheets(i).Name
Next
End Sub
接下来,怎么提取每个银行的E列最后一个有金额的值。
先不看VBA,用技巧实现。随便点E列下方空白单元格,按一下Ctrl+↑,就回到E列最后一个有金额的值了。

在最后余额的下方,选一个没有内容的空单元格。比如E3000,E5000都行,因为余额在哪个单元格不确定,为了确保在这个单元格的下方,直接写一个非常大的单元格,比如E60000,也就是Range(“E60000”)。
方向有下左右上,xlup就是上,也就是Range(“E60000”).End (xlUp)。

向上以后,是要提取这个单元格的值Value,也就是Range(“E60000”).End(xlUp).Value。

到此,需要的都有了。
Sub 汇总()
Dim i As Integer
For i = 2 To Sheets.Count
Range(“a” & i) = Sheets(i).Name
Range(“b” & i) = Sheets(i).Range(“E60000”).End(xlUp).Value
Next
End Sub
如果要发给其他人使用,经常会加个提示对话框MsgBox “报告卢子,提取完毕”,不加也行,没啥影响。
最终代码。
Sub 汇总()
Dim i As Integer
For i = 2 To Sheets.Count
Range(“a” & i) = Sheets(i).Name
Range(“b” & i) = Sheets(i).Range(“E60000”).End(xlUp).Value
Next
MsgBox “报告卢子,提取完毕”
End Sub
将原来的内容清除掉,运行代码,验证效果。

会点技巧、公式,借鉴思路,从而实现写各种VBA代码。