我要做这个表中的汇总表中的求和项,求每天的入库量与出库量的总和!因为各表之间格式不同所以不可以按格式直接的加起来!
本来想用SUMIF来解决,可是没有想到好的方法,毕竟17个分表还是太多了!
要求:求出17个分表中附和“存货编码”的当日的入量与出量!!!
这17个分表中的格式不相同!
江湖救急!!!!!!
在此谢过!!!!!!
用公式估计得像蜗牛爬一样地慢了,用宏写了一个,代码如下:
Option Explicit
Sub 汇总数据()
Dim i%, wst As Worksheet, k As Range, c As Range, t
t = Now
With Sheets(1)
'清空汇总区域
。 [I3:BR65536]。ClearContents
'遍历总表中各存货编码
For Each k In 。Range("B2:B" & 。[B65536]。End(xlUp)。Row)
For i = 2 To 18 '遍历各子表
Set wst = Sheets(i)
'查找存货编码对应的数据
Set c ...全部
用公式估计得像蜗牛爬一样地慢了,用宏写了一个,代码如下:
Option Explicit
Sub 汇总数据()
Dim i%, wst As Worksheet, k As Range, c As Range, t
t = Now
With Sheets(1)
'清空汇总区域
。
[I3:BR65536]。ClearContents
'遍历总表中各存货编码
For Each k In 。Range("B2:B" & 。[B65536]。End(xlUp)。Row)
For i = 2 To 18 '遍历各子表
Set wst = Sheets(i)
'查找存货编码对应的数据
Set c = wst。
Columns(2)。Find(k, LookIn:=xlValues)
'找到数据则累加
If Not c Is Nothing Then
c。Offset(0, 7)。
Resize(1, 62)。Copy
k。Offset(0, 7)。PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd, skipblanks:=False, Transpose:=False
End If
Next
Next
End With
Application。
CutCopyMode = False
MsgBox "统计完成!" & vbCrLf & "一共耗时 " & Format(Now - t, "HH:MM:SS")
End Sub
另外,帮你重做了一下汇总公式,一个一个用“+”不便于维护,效率也不高。
在本机上汇总一次花了3分多钟,如果电脑配置好的话,应该还会快一点。速度跟数据量也有关系。收起