当前位置:首页 > 办公设计 > Office教程 > 如何使用VBA代码将Word的表格批量写入Excel?

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

1年前 (2025-05-24)Office教程1470

比如说,有一个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

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

扫描二维码推送至手机访问。

欢迎转载或分享本篇文章。

本文链接:https://www.jcba123.com/article/1583

分享给朋友:

“如何使用VBA代码将Word的表格批量写入Excel?” 的相关文章

Word文档如何实现电子版“手写签名”?

Word文档如何实现电子版“手写签名”?

日常办公中一些合同文件,都是需要我们手写签名。但如果需要手写签名的材料太多,那就太耗费时间了。所以,今天易老师就来教大家如何制作电子版的手写签名,以后我们直接打印即可。     准备工作 准备一张白纸先。   在纸上签上自己...

XLOOKUP函数经典用法总结

XLOOKUP函数经典用法总结

HI,大家好,我是星光。 今天给大家分享的Excel函数是XLOOKUP,例先说一下它的基本语法。它有六个参数,成功超越大哥大OFFSET,成为参数最多的函数之一。 =XLOOKUP(查找值,查找范围,结果范围,[容错值],[匹配方式],[查询模式]) 参数看起来很多,不过只有前三个是...

让你秒懂Word自动生成目录的操作方法

让你秒懂Word自动生成目录的操作方法

Word排版中自动生成目录一项是许多人的痛楚,特别是在制作长篇文档排版的时候,我们经常会生成目录,那么生成目录要满足哪些条件呢?又应该如何生成呢?今天,易老师就详细的为大家介绍讲解一下! 自动生成目录前提条件 首先,你要明白,不是什么样的长篇文档都适合生成目录的。我们需要满足一些基本条件,...

做表不用Ctrl键,天天加班八点半

做表不用Ctrl键,天天加班八点半

用Ctrl键与其他键组合,能形成很多快捷键,比如大家最熟悉的Ctrl+C(复制)、Ctrl+V(粘贴)和Ctrl+Z(撤销)。 除此之外,常用的Ctrl系组合键还有Ctrl+A(全选)、Ctrl+S(保存)、Ctrl+F(查找)、Ctrl+H(替换)、Ctrl+X(剪切)、Ctrl+P(打印)、Ct...

PPT如何制作年会倒计时效果

PPT如何制作年会倒计时效果

第一步:打开PPT软件,创建一个新的空白演示文稿。然后,在幻灯片上插入所需的图片,并在页面中插入一个文本框,输入数字“3”。 第二步:选中当前幻灯片,按住Ctrl+D键复制两页幻灯片,并修改其中的数字。接着新建一个幻灯片,插入所需的封面图片。 第三步:按住Shift键选中...

创意错位字体设计PPT教程

创意错位字体设计PPT教程

第一步:插入文本框,输入文字,再将文字内容同等复制三个,并且调整为不同的颜色,分别为白色、蓝色(RGB为1,156,233)、红色(RGB为252,32,40)。将三个不同颜色的文本框错位放置,复制一份备用。 第二步:插入一个矩形,选中矩形点击复制,先选中白色文本框与矩形,点击工具栏的形状...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。