帕萨特鲁byc076:帮做表格汇总吗?
卢子:怎么汇总法。
帕萨特鲁byc076:应该一共有42个工作表,我想把所有的工作表的B和C统计出来。
卢子:你货号这个有没有一个现成的总表呢?
帕萨特鲁byc076:什么意思?
卢子:就是把货号这些全部列举出来。
帕萨特鲁byc076:这个样子?
卢子:是,有的话我就用公式,不用VBA。那你把总货号这个给我,我就省了一个步骤提取所有货号。
帕萨特鲁byc076随后就把相关的表格发送过来,卢子就开始设置表格了。
Step 01 Ctrl+F3调出定义名称对话框,或者点击“公式”→“定义名称”调出定义名称对话框。
Step 02在“名称”框里输入一个定义名称:表名,方便在工作表中引用。在“引用位置”处输入=GET.WORKBOOK(1),设置完毕后点击”确定”按钮。
Step 03 在B1输入公式,这时就返回了包括工作簿名称的工作表名称。
而我们现在需要的是工作表名称,也就是]后面的内容,就需要对公式略作更改。
输入公式,向右拉,直到所有工作表名称出现为止。
Step 04 在B2输入公式,并向右和向下复制公式。
=SUMIF(INDIRECT(B$1&"!B:B"),$A2,INDIRECT(B$1&"!C:C"))
在保存的时候会弹出一个警告对话框,点击“否”。
将工作簿另存为启用宏的工作簿。
表格做完后,卢子就发送给帕萨特鲁byc076核对。
知识扩展:
提取工作表名称用宏表函数有点麻烦,需要定义名称才能使用,一般我都是采用VBA生成的。
按快捷键Alt+F11,插入一个模块,输入代码后,点击运行,所有工作表就自动生成。
Sub 表名()
For i = 2 To Sheets.Count
Cells(1, i) = Sheets(i).Name
Next
End Sub
卢子老师作品书籍: