打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何使用VBA代码将Word的表格批量写入Excel?

……虽然表面上 我还是完整 那个我

可是身体𥚃 有个什么 已被刺破

天真有邪 音乐: Kristian Kostov - Prologue 

HI,大家好,我是星光。

有蛮多的朋友询问VBA多文件协同应用的问题,比如如何将Excel的数据写入PPT文件?如何将Word的数据写入Excel?

所以我们今天分享的VBA小代码的内容是:

如何将Word文件的表格数据批量写入Excel?

比如说,有一个Word文件,里面有十几张表格,现在急需将每个表格的数据复制到Excel,每个表格自成一份Sheet,关键是很不巧,你的秘书MISS李请假一个月回老家了……

操作动画如下:

代码如下

Sub GetWordTable() Dim WdApp As Object Dim objTable As Object Dim objDoc As Object Dim strPath As String Dim shtEach As Worksheet Dim shtSelect As Worksheet Dim i As Long Dim j As Long Dim x As Long Dim y As Long Dim k As Long Dim brr As Variant Set WdApp = CreateObject('Word.Application') With Application.FileDialog(msoFileDialogFilePicker) .Filters.Add 'Word文件', '*.doc*', 1 '只显示word文件 .AllowMultiSelect = False '禁止多选文件 If .Show Then strPath = .SelectedItems(1) Else Exit Sub End With Application.ScreenUpdating = False Application.DisplayAlerts = False Set shtSelect = ActiveSheet '当前表赋值变量shtSelect,方便代码运行完成后叶落归根回到开始的地方 For Each shtEach In Worksheets '删除当前工作表以外的所有工作表 If shtEach.Name <> shtSelect.Name Then shtEach.Delete Next shtSelect.Name = 'EH看见星光' '这句代码不是无聊,作用在于……你猜…… '……其实是避免下面的程序工作表名称重复 Set objDoc = WdApp.documents.Open(strPath) '后台打开用户选定的word文档 For Each objTable In objDoc.tables '遍历文档中的每个表格 k = k + 1 Worksheets.Add after:=Worksheets(Worksheets.Count) '新建工作表 ActiveSheet.Name = k & '表' x = objTable.Rows.Count 'table的行数 y = objTable.Columns.Count 'table的列数 ReDim brr(1 To x, 1 To y) '以下遍历行列,数据写入数组brr For i = 1 To x For j = 1 To y brr(i, j) = ''' & Application.Clean(objTable.cell(i, j).Range.Text) 'Clean函数清除制表符等 '半角单引号将数据统一转换为文本格式,避免身份证等数值变形 Next Next With [a1].Resize(x, y) .Value = brr '数据写入Excel工作表 .Borders.LineStyle = 1 '添加边框线 End With Next shtSelect.Select objDoc.Close: WdApp.Quit Application.ScreenUpdating = True Application.DisplayAlerts = True Set objDoc = Nothing Set WdApp = Nothing MsgBox '共获取:' & k & '张表格的数据。'End Sub

代码已有注释说明,这里就不再啰嗦了。

就酱~

挥手 祝安~

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel 多表合并之 VBA 解决方案
Access如何制作复杂报表——利用Excel输出复杂报表 - 表 - Access/Of...
关于VB或VBA代码中前期绑定与后期绑定的区别
从零开始,步入Word宏编程的世界(第八讲)
Visual Basic 2017 操作Excel和word【1】持续更新……
Excel事件示例(二)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服