举个栗子,如下图,一个工作簿,包含多个工作表,现在需要将各个分表的数据汇总到总表中。
碰到这样的问题,有些小伙伴会想到使用数据透视表或者合并计算等方式进行操作。
但这两种操作方式都有它的局限性。
比如说,它们是统计汇总数据而不是汇总明细记录;另外,当标题行或列是多行(多列),甚至存在合并单元格时,它们也就无能无力了,等等。
代码一两行,工作不用愁断肠。面对这样的情况,VBA小代码解决方案如下:
代码如下:
Sub CollectData()
Dim Sht As Worksheet, Rng As Range, k&, n&
Application.ScreenUpdating = False'取消屏幕更新,加快代码运行速度
n = Val(InputBox("请输入标题的行数", "提醒", 1))
If n < 0 Then MsgBox "标题行数不能为负数。", 64, "提示": Exit Sub'取