ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 格式相同的工作表汇总的引值汇总方式及序列号设置技巧

格式相同的工作表汇总的引值汇总方式及序列号设置技巧

作者:绿色风 分类: 时间:2022-08-18 浏览:86
楼主
kevinchengcw
对于格式相同的工作表汇总有很多方法,这里我演示一种引值的汇总方式,即目标区数据=源数据区数据值的方式,以及汇总后设置成动态序列号的方法,代码如下:
  1. Sub test()
  2. Dim Ws As Worksheet
  3. Dim M, N, I As Long
  4. Application.ScreenUpdating = False  '关闭屏幕刷新
  5. For Each Ws In Worksheets   '列举当前工作簿中的全部工作表
  6.     If Ws.Name <> ActiveSheet.Name And Ws.Name <> "資料表" And Ws.Cells(3, 3) <> "" Then  '如果工作表名不等于不需要汇总的表名,且工作表的需汇总区域存在数据,则
  7.         I = Ws.Cells(Ws.Rows.Count, 3).End(3).Row  '判断需汇总区域的最后一行位置
  8.         With ActiveSheet
  9.             .Cells(.Cells(Rows.Count, 3).End(3).Row + 1, 2).Resize(I - 2, 11) = Ws.Cells(3, 2).Resize(I - 2, 11).Value  '将要汇总的工作表的汇总数据区域的值直接引用到汇总表数据末尾的相同大小的区域(注意相关数值获取方法,本例未引用序列列,因汇总表中需重新编号)
  10.         End With
  11.     End If
  12. Next Ws
  13. ActiveSheet.Range(Cells(3, 1), Cells(Cells(Rows.Count, 3).End(3).Row, 1)).Formula = "=row()-2"  '将序列号列设置成公式,便于适应调整
  14. Application.ScreenUpdating = True
  15. End Sub
这样对于格式相同的工作表的操作速度远快于复制粘贴的方式。
如果您不怕看得头晕的话,可进一步简化成下列代码:
  1. Sub test2()
  2. Dim Ws As Worksheet
  3. Dim M, N, I As Long
  4. Application.ScreenUpdating = False '关闭屏幕刷新
  5. For Each Ws In Worksheets '列举当前工作簿中的全部工作表
  6.     If Ws.Name <> ActiveSheet.Name And Ws.Name <> "資料表" And Ws.Cells(3, 3) <> "" Then _
  7.         ActiveSheet.Cells(ActiveSheet.Cells(Rows.Count, 3).End(3).Row + 1, 2).Resize(Ws.Cells(Ws.Rows.Count, 3).End(3).Row - 2, 11) = Ws.Cells(3, 2).Resize(Ws.Cells(Ws.Rows.Count, 3).End(3).Row - 2, 11).Value '如果工作表名不等于不需要汇总的表名,且工作表的需汇总区域存在数据,则将要汇总的工作表的汇总数据区域的值直接引用到汇总表数据末尾的相同大小的区域(注意相关数值获取方法,本例未引用序列列,因汇总表中需重新编号)
  8. Next Ws
  9. ActiveSheet.Range(Cells(3, 1), Cells(Cells(Rows.Count, 3).End(3).Row, 1)).Formula = "=row()-2" '将序列号列设置成公式,便于适应调整
  10. Application.ScreenUpdating = True
  11. End Sub
附示例文件。
引值方式汇总相同格式工作表.rar
2楼
bpbp111522
已经头晕了,加强学习。
3楼
sam.tan
学无止境,学习学习再学习...

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap