ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 急!高难度从word表格中获取数据到excel,分列时要重复取数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-3-26 16:27 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
捕获20150328.GIF
请教大家,如附件中所示,如何从word中相应的位置获取相应的数据到excel表中,特别是word中有一列数据是有多行的,需要分别取到excel表中。


获取word表格数据.zip

34.33 KB, 下载次数: 144

TA的精华主题

TA的得分主题

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

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-31 09:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
再次求助大家!

TA的精华主题

TA的得分主题

发表于 2015-3-31 10:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我的Doc2Xls应该可以帮你,http://club.excelhome.net/thread-1029709-1-1.html,下载最新版(看原帖追加说明)

TA的精华主题

TA的得分主题

发表于 2015-3-31 11:14 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-3-31 12:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
该帖好像曾经发过.
你必须明确:不同文档中,需要提取的项目在表格中所处行列,哪些项目可能变化,哪些项目不会变化.比如"目标入组人数",在不同文件中,在其表格中的行列是不同的.这样才好写代码.

TA的精华主题

TA的得分主题

发表于 2015-3-31 15:19 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. Sub tiqu()
  2.    
  3.     Dim dpath, Filename As String
  4.     Dim wdapp As Word.Application
  5.     Dim wddocument As Word.Document
  6.     Dim arr(1 To 20)
  7.     dpath = ThisWorkbook.Path
  8.     Set wdapp = New Word.Application
  9.     Application.ScreenUpdating = False
  10.     Filename = Dir(dpath & "\*.doc")
  11.     On Error Resume Next
  12.     Do While Filename <> ""
  13.         Set wddocument = wdapp.Documents.Open(dpath & "" & Filename)
  14.         With wddocument
  15.             arr(1) = .Tables(1).Cell(1, 2).Range.Text
  16.             arr(2) = .Tables(1).Cell(1, 4).Range.Text
  17.             arr(3) = .Tables(1).Cell(2, 4).Range.Text
  18.             arr(4) = .Tables(1).Cell(3, 2).Range.Text
  19.             
  20.             arr(5) = .Tables(2).Cell(5, 2).Range.Text
  21.             arr(6) = .Tables(2).Cell(6, 2).Range.Text
  22.             arr(7) = .Tables(2).Cell(7, 2).Range.Text
  23.             arr(8) = .Tables(2).Cell(2, 2).Range.Text
  24.             
  25.             arr(9) = .Tables(2).Cell(3, 2).Range.Text
  26.             arr(10) = .Tables(4).Cell(5, 2).Range.Text
  27.             
  28.             arr(11) = .Tables(5).Cell(1, 1).Range.Text
  29.             arr(12) = .Tables(6).Cell(1, 1).Range.Text
  30.             
  31.             x = .Tables(4).Rows.Count '不规格表格找处目标入组人数
  32.             For i = 10 To x
  33.                 str1 = Mid(.Tables(4).Cell(i, 1).Range.Text, 1, 6)
  34.                 If str1 = "目标入组人数" Then
  35.                     arr(15) = .Tables(4).Cell(i, 2).Range.Text
  36.                     arr(16) = .Tables(4).Cell(i + 1, 2).Range.Text
  37.                     i = x
  38.                 End If
  39.             Next i
  40.             arr(13) = .Tables(7).Cell(12, 2).Range.Text '第一个机构
  41.             arr(14) = .Tables(7).Cell(12, 3).Range.Text
  42.          
  43.             arr(17) = .Tables(7).Cell(13, 2).Range.Text '第二个机构
  44.             arr(18) = .Tables(7).Cell(14, 3).Range.Text
  45.             For i = 1 To 20
  46.                 arr(i) = Replace(arr(i), vbCr & "", "")
  47.             Next
  48.             
  49.         End With
  50.         With Sheet1
  51.             r = .[a65536].End(xlUp).Row + 1
  52.             .Range("A" & r).Resize(1, 16) = arr
  53.             If arr(17) <> "" Then
  54.                 arr(13) = arr(17)
  55.                 arr(14) = arr(18)
  56.                 r = r + 1
  57.                 .Range("A" & r).Resize(1, 16) = arr
  58.             End If
  59.         End With
  60.         wddocument.Close
  61.         Filename = Dir()
  62.     Loop
  63.     Set wddocument = Nothing
  64.     wdapp.Quit
  65.     Set wdapp = Nothing
  66.     Application.ScreenUpdating = True
  67. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2015-3-31 15:21 | 显示全部楼层
原表中有一个重复列我删除了。见附件

获取word表格数据.zip

44.02 KB, 下载次数: 113

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-4-2 09:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Moneky 发表于 2015-3-31 10:46
我的Doc2Xls应该可以帮你,http://club.excelhome.net/thread-1029709-1-1.html,下载最新版(看原帖追加说 ...

你太强大了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-4-2 21:54 | 显示全部楼层
dyp1610 发表于 2015-3-31 15:21
原表中有一个重复列我删除了。见附件

当word 6中的 “各参加机构信息”的列数在不同的word中不一样时,那代码运行时就只能随机取二个机构的名称?不能取全,见附件,不知应该如何修改呢?

新建文件夹.7z

35.95 KB, 下载次数: 4

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

本版积分规则

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

GMT+8, 2024-9-29 16:20 , Processed in 0.061694 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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