excel怎么复制vba语句(经常做Excel表格的你)

转自EXCEL不加班

按照约定,点“在看”人数太少,今天开始就不聊函数PK,转移话题聊VBA。

还记得这张现金日记账汇总表吗?

汇总表,提取每一个银行的名称还有余额。

excel怎么复制vba语句(经常做Excel表格的你)(1)

明细表,余额就是E列最后一个金额。

excel怎么复制vba语句(经常做Excel表格的你)(2)

你的做法可能是先一个个复制粘贴工作表名称,再一个个复制粘贴每个表的余额。这当然可以解决问题,不过效率太低了吧,你不加班谁加班?

也有比较聪明的,先获取工作表名称,然后用LOOKUP函数查找余额,这样保证以后的余额更新,也能正确获取。

excel怎么复制vba语句(经常做Excel表格的你)(3)

如果你学VBA,那你就会看到让你震惊的一幕,点一下汇总的按钮,1秒搞定。

excel怎么复制vba语句(经常做Excel表格的你)(4)

这才是真正的效率!

也许你会认为这个VBA代码很麻烦,其实这个真的很简单,很短的语句就可以实现。

excel怎么复制vba语句(经常做Excel表格的你)(5)

Sheets.Count就是统计一共有多少个工作表。

Sheets(i).Name就是获取每个工作表的名称。

Sheets(i).Range("e65536").End(xlUp)就是获取每个工作表E列最后一个非空单元格的值。

Cells(i, 1)就是A列,Cells(i, 2)就是B列。

For Next就是一个循环语句。

知道了意思以后,如果要自己更改就变得更简单了。

VIP群有一个类似的问题,就是A列提取工作表名称,B列提取每个表的B2单元格。

Sub 汇总1() Dim i% For i = 2 To Sheets.Count Cells(i, 1) = Sheets(i).Name Cells(i, 2) = Sheets(i).[b2] NextEnd Sub

Sheets(i).[b2]这个就是代表每个表的B2单元格,B2在VBA有很多种表示法,除了[B2],还有Cells(2, 2)、Range("b2")。

VBA入门虽然有点难,不过只要你掌握了基本的方法,工作效率会大大提升。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页