广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    excel快速汇总同一工作簿多个工作表的列数据

    来源:网络收集  点击:  时间:2024-05-18
    【导读】:
    若一个excel文件中存在许多sheet工作表,且是相同数据格式的列数据,那么如何快速的汇总到一个工作表中呢?同样的,还是借助vba来处理。excel如何快速汇总同一个工作簿中多个工作表的数据-行数据汇总工具/原料moreexcel2013方法/步骤1/8分步阅读

    比如图中的数据,即需要将分表的数据汇总到总表中。

    2/8

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

    3/8

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

    4/8

    双击新增模块,复制以下代码。

    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

    5/8

    注释:

    Columns(B:XX).Clear

    第一步是先清空汇总表的数据,这里是从第B列开始清理到XX列,可以自己修改。

    Set rng = Range(XY1).End(xlToLeft).Offset(0, 1)

    每次循环就动态定位需要拷贝数据的汇总表的区域,即获得第一行空的单元格

    6/8

    关闭编辑器返回到汇总表

    7/8

    在汇总工作表上建立一个按钮,将宏命令与他关联,方便以后使用。

    关于按钮和宏命令的关联方法,可以看我的经验贴

    8/8

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

    注意事项

    宏命令的excel表建议用.xlsm后缀,不使用.xlsx后缀。

    vb代码中的参数可以根据自己表的情况进行变更,也可以关注并发信息给我。

    EXCEL汇总VBA工作表宏
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_795168.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 23:15:47  耗时:0.025
    0.0252s