按照约定,点“在看”人数太少,今天开始就不聊函数PK,转移话题聊VBA。 还记得这张现金日记账汇总表吗? 汇总表,提取每一个银行的名称还有余额。 明细表,余额就是E列最后一个金额。 你的做法可能是先一个个复制粘贴工作表名称,再一个个复制粘贴每个表的余额。这当然可以解决问题,不过效率太低了吧,你不加班谁加班? 也有比较聪明的,先获取工作表名称,然后用LOOKUP函数查找余额,这样保证以后的余额更新,也能正确获取。 如果你学VBA,那你就会看到让你震惊的一幕,点一下汇总的按钮,1秒搞定。 这才是真正的效率! 也许你会认为这个VBA代码很麻烦,其实这个真的很简单,很短的语句就可以实现。
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单元格。
Sheets(i).[b2]这个就是代表每个表的B2单元格,B2在VBA有很多种表示法,除了[B2],还有Cells(2, 2)、Range("b2")。 VBA入门虽然有点难,不过只要你掌握了基本的方法,工作效率会大大提升。
作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban) |
|