ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何用VBA汇总同一文件下多个工作薄

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-10-23 14:28 | 显示全部楼层 |阅读模式
本帖最后由 adm0795 于 2019-10-23 15:22 编辑

如附件,我要把每个月每天的生产明细汇总一个总表上.表最后两栏,要把当天及各班次写上

重新上传了附件,请大侠帮帮忙!

汇总表.zip

1.16 MB, 下载次数: 19

TA的精华主题

TA的得分主题

发表于 2019-10-23 14:44 | 显示全部楼层
1、这种代码被人写烂了,几十上百次肯定是有的。百度上找一个类似的,自己再修改下;
2、你这也没有具体的文件和数据,仅凭一张图片,肯定是写不了的。真要重写代码难度还是有一些的,子目录的检索不是那么好弄,要递归或双循环,所以还是去百度上找一个省事。本论坛应该也有,没有百度检索方便;

我估计有那么多时间给你写代码的人不好找,简单问题很好找人解决,你这个会很花时间。

TA的精华主题

TA的得分主题

发表于 2019-10-23 14:46 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-23 15:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
约定的童话 发表于 2019-10-23 14:46
具体文件穿上来啊,你弄个截个图咋汇总

不好意思,重新上传了附件。因每天都有新增表,要求把每个月每天的表汇总到一个总表上

TA的精华主题

TA的得分主题

发表于 2019-10-23 15:50 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-10-23 15:53 | 显示全部楼层
adm0795 发表于 2019-10-23 15:23
不好意思,重新上传了附件。因每天都有新增表,要求把每个月每天的表汇总到一个总表上

让其他大神看下吧,我这会没空了...

TA的精华主题

TA的得分主题

发表于 2019-10-23 19:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
………………

仅供测试.rar

1.11 MB, 下载次数: 44

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-23 20:11 | 显示全部楼层

为何在实际运用中:出现错误提示:在联合查询中所选定的两个数据表或查询中的列数不匹配

TA的精华主题

TA的得分主题

发表于 2019-10-23 20:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 xiangbaoan 于 2019-10-24 15:14 编辑
adm0795 发表于 2019-10-23 20:11
为何在实际运用中:出现错误提示:在联合查询中所选定的两个数据表或查询中的列数不匹配

代码中有注释。猜测,实际的数据表中还有深度隐藏的工作表。

新理解(补).rar

1.11 MB, 下载次数: 32

TA的精华主题

TA的得分主题

发表于 2019-10-23 21:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 按钮1_Click()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.EnableEvents = False
    Set sh = ActiveSheet
    sh.UsedRange.Offset(1).ClearContents
    For Each f In CreateObject("scripting.filesystemobject").getfolder(ThisWorkbook.Path).Files
        If InStr(f.Name, "汇总表") = 0 Then
            With Workbooks.Open(f)
                For Each sht In .Sheets
                    If sht.Visible = True Then
                        r = sht.Cells(Rows.Count, 1).End(3).Row
                        arr = Application.Intersect(sht.Rows("3:" & r), sht.UsedRange)
                        r = sh.Cells(Rows.Count, 1).End(3).Offset(1).Row
                        sh.Cells(r, 1).Resize(UBound(arr) - 1, UBound(arr, 2)) = arr
                        sh.Cells(r, "u").Resize(UBound(arr) - 1).Value = Split(f.Name, ".")(0)
                        sh.Cells(r, "v").Resize(UBound(arr) - 1).Value = Left(sht.Name, 1)
                    End If
                Next sht
                .Close False
            End With
        End If
    Next f
    Application.EnableEvents = True
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-28 08:06 , Processed in 0.050509 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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