ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 多个工作簿的表合并到一个工作簿中多张表 表名=工作簿名

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-11-5 15:48 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
想求一段代码。如附件一个文件夹中有多个工作簿,每个工作簿属于不同的业务人员,代码实现的功能是:
把各个业务人员的工作簿里边sheet1的内容合并到  “总表”中。
最后总表工作簿中包括每个业务人员的表,表名就是业务人员的工作簿的名字。

谢谢!

订单统计.rar

36.09 KB, 下载次数: 336

TA的精华主题

TA的得分主题

发表于 2015-11-5 16:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个多工作簿合并的帖子很多啦,搜一下就知道了
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2015-11-5 17:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2015-11-5 17:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2015-11-5 17:05 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-11-5 17:19 | 显示全部楼层

谢谢,
代码测试有一个问题,每运行一次都会多生成一个空表出来

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-11-5 17:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

Set sh = ThisWorkbook.Sheets.Add(Sheets(Sheets.Count))
在这一步的时候会生成一个空表
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2015-11-5 20:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2015-11-6 13:54 | 显示全部楼层
  1. Sub Sql复制()
  2. Set Cnn = CreateObject("adodb.connection")
  3.     Filename = Dir(ThisWorkbook.Path & "\*.xls")
  4.     Do While Filename <> ""
  5.       If Filename <> ThisWorkbook.Name Then
  6.         SHEETNAME = Split(Filename, ".")(0)
  7.         ThisWorkbook.Worksheets.Add.Name = SHEETNAME
  8.         Cnn.Open "Provider=Microsoft.ace.OLEDB.12.0;Extended Properties='Excel 12.0;hdr=NO;imex=1';Data Source=" & ThisWorkbook.Path & "" & Filename
  9.         Sql = "select F1,F2 from  [sheet1$]"
  10.         Sheets(SHEETNAME).[a65536].End(3).CopyFromRecordset Cnn.Execute(Sql)
  11.         Cnn.Close
  12.       End If
  13.         Filename = Dir
  14.     Loop
  15.     Set Cnn = Nothing
  16. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-11-6 15:15 | 显示全部楼层

十分感谢 这个方法是最简单的。
能有请您帮忙再改进一下。有两个地方
我在附件里边附带的所有的文件。
1. 您的代码在用的时候,只能把每个文件的前两列 粘贴汇总表中。能不能有多少列粘贴多少列,并且保留各表的格式?
2. 代码在运行一次之后,汇总表里边会生成几个新表。可不可以改成 我在第二次运行的时候,除去汇总表以外第一次生成表都会被删除,然后重新生成。这样就可以实现直接刷新的功能了,而不需要手动删除了。
目前的代码我再第二次运行 的时候会提示错误。如图

QQ截图20151106151202.jpg

石蜡订单录入统计.rar

57.76 KB, 下载次数: 85

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-10 21:23 , Processed in 0.027505 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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