ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH云课堂-专业的职场技能充电站 Excel转在线管理系统,怎么做看这里 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 EH云课堂直播课程免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 425|回复: 5

[求助] 求助大神,如何提取同一个文件夹内的excel工作薄内的指定数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-10-5 08:46 | 显示全部楼层 |阅读模式
如图一,我的文件夹内有4个excel,A000是汇总表,需要将后面A011/A021/A031中工作表为"第一期TB表"的I列(图二)都汇总到A000表中"第一期TB表”的J-L列(图三)。已经用了files函数取数,但是不打开对应的文件,都显示#REF!,如果有七八十张表格的话,一一打开不大现实,求助各位大神,有没有办法解决,或者更加优化的函数?

图一

图一

图二

图二

图三

图三

合并.zip

1.5 MB, 下载次数: 1

TA的精华主题

TA的得分主题

发表于 2019-10-5 10:10 | 显示全部楼层
建议放到VBA 版快。那边人用VBA要简单些

TA的精华主题

TA的得分主题

发表于 2019-10-5 10:14 | 显示全部楼层
数据未经核对,代码仅供参考
Sub 批量合并() ''QQ:705664849
Application.ScreenUpdating = False
    Set sh = ThisWorkbook.Worksheets("第一期TB表")
    f = Dir(ThisWorkbook.Path & "\*.xls*")
    Do While f <> ""
        If f <> ThisWorkbook.Name Then
            Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & f, 0)
            mc = Split(Split(wb.Name, ".")(0), "-")(2)
            Set Rng = sh.Rows("8:9").Find(mc, , , 1)
            If Not Rng Is Nothing Then
                lh = Rng.Column
                sh.Range(sh.Cells(10, lh), sh.Cells(81, lh)) = wb.Worksheets("第一期TB表").Range("i10:i81").Value
                sh.Range(sh.Cells(85, lh), sh.Cells(135, lh)) = wb.Worksheets("第一期TB表").Range("i85:i135").Value
                sh.Range(sh.Cells(139, lh), sh.Cells(211, lh)) = wb.Worksheets("第一期TB表").Range("i139:i211").Value
                sh.Range(sh.Cells(215, lh), sh.Cells(272, lh)) = wb.Worksheets("第一期TB表").Range("i215:i272").Value
            End If
            wb.Close False
        End If
    f = Dir
    Loop
Application.ScreenUpdating = True
MsgBox "ok!"
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-5 10:49 | 显示全部楼层
朱荣兴 发表于 2019-10-5 10:14
数据未经核对,代码仅供参考
Sub 批量合并() ''QQ:705664849
Application.ScreenUpdating = False

谢谢大神,可是这样只有一列数据可以出来,并且关掉重新打开又是错误了。

TA的精华主题

TA的得分主题

发表于 2019-10-5 11:03 | 显示全部楼层
ygf0625 发表于 2019-10-5 10:49
谢谢大神,可是这样只有一列数据可以出来,并且关掉重新打开又是错误了。

呵呵呵,看来好东西还得遇上识货之人啊,代码获取的数据,一旦获取了数据就是固定的数值了,怎么可能再次打开有是错误呢?
使用这段代码有个前提条件,就是首先在汇总表的   第八行  输入公司名称,特别要注意的是:输入的公司名称一定要跟文件名称中的公司名称一致才能获取数据

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-10-5 16:38 | 显示全部楼层
朱荣兴 发表于 2019-10-5 11:03
呵呵呵,看来好东西还得遇上识货之人啊,代码获取的数据,一旦获取了数据就是固定的数值了,怎么可能再次 ...

明白了,大神!感激!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关注官方微信,高效办公专列,每天发车

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

GMT+8, 2019-12-14 09:50 , Processed in 0.425369 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

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

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

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