网站首页 / 汽车 / 正文

银行日记账excel表格(银行日记账excel表格带公式)

时间:2022-04-03 17:42:23 浏览:59次 作者:用户投稿 【我要投诉/侵权/举报 删除信息】

原创作者: 卢子 转自:Excel不加班

那时的现金日记账汇总表,是用VBA+公式完成,分成了两步。现在卢子看了,有点多此一举,直接VBA一步到位,这样堪称完美。

每一家银行日记账格式都一样,余额都放在E列,现在要实现将银行还有对应的最后余额提取到汇总表。

银行日记账excel表格

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

银行日记账excel表格

今天就不录制宏了,教你如何在原来的基础上面改代码。

前面一直有提到目录的代码。

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列最后一个有金额的值了。

银行日记账excel表格

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

方向有下左右上,xlup就是上,也就是Range("E60000").End (xlUp)。

银行日记账excel表格

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

银行日记账excel表格

到此,需要的都有了。

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

将原来的内容清除掉,运行代码,验证效果。

银行日记账excel表格

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

版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人,因此内容不代表本站观点、本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至353049283@qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。