excel快速汇总同一工作簿多个工作表的列数据
来源:网络收集 点击: 时间:2024-05-18比如图中的数据,即需要将分表的数据汇总到总表中。


找到开发工具--visual basic,或者按快捷键ALT+F11,打开vba编辑器。

选中模块,点击右键新增一个模块;

双击新增模块,复制以下代码。
Sub zl_huizongdata()
Columns(B:XX).Clear
第一步是先清空汇总表的数据,这里是从第B列开始清理到XX列,可以自己修改。
Dim st As Worksheet, rng As Range, rrow As Integer
定义一些需要用到的变量
For Each st In Worksheets 循环开始,遍历所有的工作表
If st.Name ActiveSheet.Name Then
若遍历的当前工作表不是当前的活动工作表
Set rng = Range(XY1).End(xlToLeft).Offset(0, 1)
每次循环就动态定位需要拷贝数据的汇总表的区域,即获得第一行空的单元格
ccol = st.Range(A1).CurrentRegion.Columns.Count - 1
获得每个工作表中的数据记录数,即列数,同时需要减去表头的列数,这里是减掉1列。
st.Range(B1).Resize(4, ccol).Copy rng
将数据扩展ccol行,4行拷贝到数据,并粘贴到汇总表
End If
Next
End Sub

注释:
Columns(B:XX).Clear
第一步是先清空汇总表的数据,这里是从第B列开始清理到XX列,可以自己修改。
Set rng = Range(XY1).End(xlToLeft).Offset(0, 1)
每次循环就动态定位需要拷贝数据的汇总表的区域,即获得第一行空的单元格
6/8关闭编辑器返回到汇总表

在汇总工作表上建立一个按钮,将宏命令与他关联,方便以后使用。
关于按钮和宏命令的关联方法,可以看我的经验贴

点击按钮,执行vb代码后 ,就看到数据已经汇总过来了。

宏命令的excel表建议用.xlsm后缀,不使用.xlsx后缀。
vb代码中的参数可以根据自己表的情况进行变更,也可以关注并发信息给我。
EXCEL汇总VBA工作表宏版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_795168.html