ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 求助多文件中指定工作表数据汇总到汇总文件中

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-6-5 10:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
是只需要粘贴早餐和大厅的数据吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-5 11:10 | 显示全部楼层
lsc900707 发表于 2018-6-5 10:13
不客气,如果解决了问题就评个分吧:点击右下角“评分”按提示操作即可。

谢谢啦。给你好评!我加你扣扣了,不过我在想能否再加多个判断,就是当分表中没有餐饮的时候,在汇总中客房收入显示为代码+A,例如JACD06,就没有餐饮,但是在汇总表中变成JZCD06B了,正常情况下是要显示为JZCD06A。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-10 10:55 | 显示全部楼层
本帖最后由 dagal 于 2018-6-10 10:56 编辑
lsc900707 发表于 2018-6-4 17:27
自己看看清楚附件再说。一开始就要把附件做好,便于寻找规律。
代码已修改,详见附件:

师傅,再次打扰你下,之前的汇总表,我事后测试多加3个场所代码,JZ09、JZCD08、JZX02、JZX03看看是否能正常,可是现在发现JX02、JZX03不能正常提取代码,而是变成以下图片,烦请帮忙下,谢谢。

微信图片_20180610105417.png

各场所.rar (1.36 MB, 下载次数: 1)

TA的精华主题

TA的得分主题

发表于 2018-6-10 17:15 | 显示全部楼层
dagal 发表于 2018-6-10 10:55
师傅,再次打扰你下,之前的汇总表,我事后测试多加3个场所代码,JZ09、JZCD08、JZX02、JZX03看看是否能 ...

原代码确实存在BUG,修改一下就好:

各场所.rar

1.42 MB, 下载次数: 5

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-10 18:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lsc900707 发表于 2018-6-10 17:15
原代码确实存在BUG,修改一下就好:

嗯嗯,谢谢。好像还有个BUG,就是如JZCD06、JZCD07、JZCD08、JZX01这些文件中无餐饮的时候,在汇总表为变成了B,正常应该是显示A才可以的。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-10 19:30 | 显示全部楼层
lsc900707 发表于 2018-6-10 17:15
原代码确实存在BUG,修改一下就好:

您好,我在原来基础上加了以下判断后,可以实现当文件中只有客房收入的时候汇总表显示为A:
For i = 1 To ws.Worksheets.Count
                If Trim(ws.Worksheets(i).Name) = "客房收入" Then
                    ws.Sheets("客房收入").Copy after:=wk.Sheets(wk.Sheets.Count)
                    ActiveSheet.Name = Replace(Split(Split(f, ".")(0), "-")(1), "营业额", "") & "A"
                End If
                If Trim(ws.Worksheets(i).Name) = "餐饮" Then
                    ws.Sheets("餐饮").Copy after:=wk.Sheets(wk.Sheets.Count)
                    ActiveSheet.Name = Replace(Split(Split(f, ".")(0), "-")(1), "营业额", "") & "B"
                End If


另外,我在源代码中发现有一个表名为(餐饮)的表名,但在生成的汇总表中是没有的。而且不知是不是因为这个原因,导致JZX01显示出来的还是B而不是A。
微信图片_20180610192042.png
请师傅再指教,谢谢。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-6-10 19:37 | 显示全部楼层
dagal 发表于 2018-6-10 18:21
嗯嗯,谢谢。好像还有个BUG,就是如JZCD06、JZCD07、JZCD08、JZX01这些文件中无餐饮的时候,在汇总表为变 ...

你那个JZX01表有问题。改过之后用新代码测试OK.
结果请再测试:

各场所.rar

1.4 MB, 下载次数: 6

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-10 19:43 | 显示全部楼层
lsc900707 发表于 2018-6-10 19:37
你那个JZX01表有问题。改过之后用新代码测试OK.
结果请再测试:

好的,不知我那JZX01的表有什么问题,能具体说明一下吗?另外,在你回复这条之前,我已上传了一段我自己修改的,但在审核中。。。此时你看不到

TA的精华主题

TA的得分主题

发表于 2018-6-10 19:46 | 显示全部楼层
dagal 发表于 2018-6-10 19:43
好的,不知我那JZX01的表有什么问题,能具体说明一下吗?另外,在你回复这条之前,我已上传了一段我自己 ...

不知道,反正测试时名称都是B,后来我复制一个JZX02工作簿文件修改名称后测试就OK了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-10 19:49 | 显示全部楼层
lsc900707 发表于 2018-6-10 19:46
不知道,反正测试时名称都是B,后来我复制一个JZX02工作簿文件修改名称后测试就OK了。

哦,好的,谢谢了。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 12:17 , Processed in 0.046707 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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