ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 多个工作表合并到一个工作表

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-7-20 15:42 | 显示全部楼层 |阅读模式
大家好!
我这里有个报表,是按每周一个工作表的形式制作的,一个工作簿有近50个工作表。
列的排列都是一样的,只是行数不同。
每个表都是从行13 开始计数,
现在需要把这些工作表整合到一个工作表中,不进行计算,单纯地将数据合并到一个工作表就可以。
因为所用的版本是英文版2007,在论坛上找过的vba程序都无法在我的excel中适用。

再次恳请各位能给出解决方案,将不胜感激!
谢谢

TA的精华主题

TA的得分主题

发表于 2015-7-20 16:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
个人认为:VBA代码应该是适应所有excel版本的(不管是英文还是中文日文)

TA的精华主题

TA的得分主题

发表于 2015-7-20 16:10 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-7-20 16:27 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-7-20 16:28 | 显示全部楼层
烦请大家帮忙看看
谢谢

Weekly2013.rar

894.84 KB, 下载次数: 25

TA的精华主题

TA的得分主题

发表于 2015-7-20 17:25 | 显示全部楼层
本帖最后由 opiona 于 2015-7-20 17:27 编辑

  1. '*********************************
  2. '*******  北极狐工作室出品  ******
  3. '*******  QQ:14885553      ******
  4. '*********************************

  5. Sub Opiona()

  6. 'On Error Resume Next    '// 发生错误,自动执行下一句,就是忽略错误
  7. Application.ScreenUpdating = False '//关闭屏幕刷新
  8. Application.DisplayAlerts = False '//关闭系统提示
  9. t = Timer   '//开始时间

  10.    Set SH2 = Sheets("Sheet1")
  11.    SH2.Range("A4:Z1048576").ClearContents
  12.    FileArr = FileAllArr(ThisWorkbook.Path, "*.xls?", ThisWorkbook.Name, False)
  13.    For I = 0 To UBound(FileArr)
  14.    
  15.       Str_coon = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=no';Data Source =" & FileArr(I)    '//OFFICE2007
  16.       Set WB = Workbooks.Open(FileArr(I))
  17.       For Each SH In WB.Sheets
  18.         If SH.Cells(5, 2) = "Voucher No" Then
  19.             LASTROW = SH.Range("D65536").End(3).Row
  20.             StrSQL = "SELECT F1,F2,F3,F4,F5,F6,F7,F8"
  21.             StrSQL = StrSQL & ",NULL,'" & GetPathFromFileName(FileArr(I)) & "' AS 工作薄名"
  22.             StrSQL = StrSQL & ",'" & SH.Name & "' AS 工作表名"
  23.             StrSQL = StrSQL & " FROM [" & SH.Name & "$B11:I" & LASTROW & "]"
  24.             
  25.             SQLARR = GET_SQL_To_Arr(StrSQL, Str_coon, False)
  26.             IROW = SH2.Range("D65536").End(3).Row + 1
  27.             If IROW <= 4 Then IROW = 4
  28.             SH2.Range("A" & IROW).Resize(UBound(SQLARR, 1) + 1, UBound(SQLARR, 2) + 1) = SQLARR
  29.         End If
  30.       Next SH
  31.       WB.Close False
  32.    Next I
  33. Application.ScreenUpdating = True '//恢复屏幕刷新
  34. Application.DisplayAlerts = True '//恢复系统提示
  35. MsgBox "一共用时:" & Format(Timer - t, "#0.0000") & " 秒", , "北极狐提示!!"  '//提示所用时间
  36. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2015-7-20 17:29 | 显示全部楼层
完整代码见附件: 新建文件夹.rar (1.86 MB, 下载次数: 341)

TA的精华主题

TA的得分主题

发表于 2018-4-7 10:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
多薄多表合并成一薄一表

TA的精华主题

TA的得分主题

发表于 2018-4-7 12:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
学习了!!!!!!!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-6-17 12:33 , Processed in 0.046992 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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