ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何把多个word文件的表格汇总到一个表格里

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-7-29 18:12 | 显示全部楼层 |阅读模式
本帖最后由 ct阿田 于 2024-7-29 21:07 编辑

目前村里有100个人申请交通补贴,有100个word文件,每个文件都有一个表格,格式都是一样的,内容不一样,例如户主、家庭信息、银行卡等等。

如何把100个word的表格内容汇总到一个表格里面,提取姓名、地址、姓名、银行卡、身份证,务工地址等等,汇总的表格可以是excel,也可以是word,有大佬救救小弟吗

(模板表格).zip

15.81 KB, 下载次数: 12

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-29 18:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
word本人只会用邮件合并,现在这种情况有点像反向的邮件合并,把多个同格式的word表格数据汇总到一个数据表里面去,有大神会操作吗,有没有宏可以实现这个功能哈,哪怕以后碰见这种情况也可以解决

TA的精华主题

TA的得分主题

发表于 2024-7-29 18:49 | 显示全部楼层
word vba区域已经有很多代码了,搜搜就能拿来用

TA的精华主题

TA的得分主题

发表于 2024-7-29 20:04 来自手机 | 显示全部楼层
问问chatgpt,不到一天就搞定了

TA的精华主题

TA的得分主题

发表于 2024-7-29 20:17 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
https://club.excelhome.net/forum.php?mod=viewthread&tid=1671899&mobile&_dsign=51b67d08

TA的精华主题

TA的得分主题

发表于 2024-7-29 20:55 | 显示全部楼层
楼主,你需要重新提供一下附件,将要提取的数据设置为红色,这样就好办了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-29 21:07 | 显示全部楼层
413191246se 发表于 2024-7-29 20:55
楼主,你需要重新提供一下附件,将要提取的数据设置为红色,这样就好办了!

谢谢你的建议,已经重新上传附件了

TA的精华主题

TA的得分主题

发表于 2024-7-30 21:42 | 显示全部楼层

Option Explicit
Sub test()
    Dim ar, br, j&, r&, wdApp As Object, strFileName$, strPath$
   
    Application.ScreenUpdating = False
   
    ReDim ar(1 To 10 ^ 3, 1 To 9)
    br = Array(2, 4, 6, 10, 12, 16, 18, 20)
   
    On Error Resume Next
    Set wdApp = GetObject(, "Word.Application")
    If Err <> 0 Then
        Set wdApp = CreateObject("Word.Application")
        'wdApp.Visible = True
    End If
   
    strPath = ThisWorkbook.Path & "\"
    strFileName = Dir(strPath & "*.doc")
    Do Until strFileName = ""
        With wdApp.documents.Open(strPath & strFileName)
            With .Tables(1)
                r = r + 1
                For j = 0 To UBound(br)
                    ar(r, j + 1) = Left(.Range.Cells(br(j)).Range.Text, Len(.Range.Cells(br(j)).Range.Text) - 1)
                Next j
            End With
            .Close False
        End With
        strFileName = Dir
    Loop
        
    Cells.Clear
    If r Then [A1].Resize(r, UBound(ar, 2)) = ar
   
    If Err <> 0 Then wdApp.Quit
    Set wdApp = Nothing
    Application.ScreenUpdating = True
    Beep
End Sub

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-7-30 21:43 | 显示全部楼层
没有过多的数据,请自行验证。。。

新建文件夹.rar

35.22 KB, 下载次数: 17

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-31 22:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
gwjkkkkk 发表于 2024-7-30 21:43
没有过多的数据,请自行验证。。。

大哥感谢你的大恩大德,非常符合,如果还能把其他几行也匹配上就完美了(外出务工省(市)和务工开始 时间)这2项也需要匹配
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-25 16:06 , Processed in 0.050523 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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