ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 13220|回复: 13

[求助] 如何将分表内容汇总到总表中?(用宏,已解决)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-6-12 08:59 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
如何将分表当中第50行按“表的顺序”复制粘帖到总表中?
用复制然后选择性粘帖可以解决这个问题,但每天有近50张表,如果都用上述方法,时间花费比较多。
我也录制了宏,但是不能同时在分表中进入下一表且在总表中进入下一行?要使两个同时完成,有什么办法?

上传了新表,原来那个可能会形成误解!

谢谢风之助,答案附件在8楼。
后面帖子是VBA的相关说明。


[ 本帖最后由 systone 于 2009-6-15 10:06 编辑 ]

090612新的.rar

42.86 KB, 下载次数: 200

TA的精华主题

TA的得分主题

发表于 2009-6-12 09:08 | 显示全部楼层
用引用应该可以啊,这样的表不应该设计成这样,把简单的问题复杂化了

TA的精华主题

TA的得分主题

发表于 2009-6-12 10:20 | 显示全部楼层

回复

是不是这样
汇总.rar (22.17 KB, 下载次数: 241)

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-12 15:38 | 显示全部楼层
原帖由 yc2007 于 2009-6-12 10:20 发表
是不是这样
529097


有两个问题:

1 =csheetname(ROW(12:12)):表达的是什么?我想可能是SHEET1 SHEET2吗?
2 分表的数据要汇总到另一个工作簿:总表中,而不是在同一个工作簿内?这个应该怎么弄

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-12 15:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 systone 于 2009-6-12 15:38 发表


有两个问题:

1 =csheetname(ROW(12:12)):表达的是什么?我想可能是SHEET1 SHEET2吗?
2 分表的数据要汇总到另一个工作簿:总表中,而不是在同一个工作簿内?这个应该怎么弄


我重新上传了新复件,你再看看

TA的精华主题

TA的得分主题

发表于 2009-6-12 16:22 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-12 17:46 | 显示全部楼层
原帖由 yc2007 于 2009-6-12 16:22 发表
你其它表中引用一下

我知道再建一个新表,会将内容引用到总表中的。但我总表是独立的,如何设置?

TA的精华主题

TA的得分主题

发表于 2009-6-12 19:36 | 显示全部楼层
在总工作簿中统计分工作簿中表名首字母为数字的所有工作表.
090612.rar (46.5 KB, 下载次数: 405)

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-13 09:37 | 显示全部楼层
原帖由 风之助 于 2009-6-12 19:36 发表
在总工作簿中统计分工作簿中表名首字母为数字的所有工作表.
529488


Sub HuiZong()
   
    Application.ScreenUpdating = False
   
    Dim wbkT As Workbook, wstT As Worksheet, rngT As Range
   
    bf = False
    For Each wbkT In Workbooks
        If wbkT.Name = "分表.xls" Then
            bf = True
            Exit For
        End If
    Next
    If Not bf Then
        Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "分表.xls"
    End If
   
    ThisWorkbook.Worksheets("临时样地调查总表").Activate
    iRow = 3
    For Each wstT In Workbooks("分表.xls").Worksheets
        If IsNumeric(Left(wstT.Name, 1)) Then
            wstT.Range("A50:Z50").Copy
            ActiveSheet.Range("A" & iRow).PasteSpecial Paste:=xlPasteValues
            iRow = iRow + 1
        End If
    Next
   
    Application.ScreenUpdating = True
End Sub

谢谢风之助,我要好好学习一下!
相类似问题,好好解决了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-6-15 10:03 | 显示全部楼层

我姐帮忙作的翻译,我想对于初学者很有帮助。

Sub HuiZong()
   
    Application.ScreenUpdating = False
   
    Dim wbkT As Workbook, wstT As Worksheet, rngT As Range  '定义变量
   
    bf = False   '设置变量值,这个参数他没定定义,这个变量用来表示分表是否打开,false表示没有打开
    For Each wbkT In Workbooks                '循环excel中打开的表
        If wbkT.Name = "分表.xls" Then        '判断打开的表中是否有名字叫分表的
            bf = True                         '如果有,设置变量bf为true
            Exit For '退出循环
        End If
    Next
    If Not bf Then                       '如果bf为false,就是说在前面的循环中没有找到,也就是分表没有打开,则执行下面的语句
        Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "分表.xls"  '打开分表,分表的路径要和总表的路径一样
    End If
   
    ThisWorkbook.Worksheets("临时样地调查总表").Activate '使总表处于活动状态,就是说当前焦点是在总表
    iRow = 3 '设置变量值,
    For Each wstT In Workbooks("分表.xls").Worksheets   '循环分表中的每个sheet
        If IsNumeric(Left(wstT.Name, 1)) Then      '如果sheet的名字是数字,则执行下面的语句
            wstT.Range("A50:Z50").Copy  'copy分表中的A50到Z50
            ActiveSheet.Range("A" & iRow).PasteSpecial Paste:=xlPasteValues '粘贴到总表中,从A3开始
            iRow = iRow + 1  '变量+1,下次粘贴从A4开始
        End If
    Next
   
    Application.ScreenUpdating = True
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-29 20:39 , Processed in 0.049407 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表