如何从Word文档中的表中删除重复的行?

网友投稿 311 2024-02-04

如何从Word文档中的表中删除重复的行?

在Word文档中,可能要删除一些具有重复行的表,并有时保留第一个外观。 在这种情况下,您可以选择手动删除一个重复的副本,也可以选择使用VBA代码。

从Word中的表中删除重复的行

从Word中的表中删除重复的行

1.将光标放在要从中删除重复行的表上,按 Alt + F11键 启用 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块

创建一个新的模块。

3.复制以下代码并将其粘贴到新代码中 模块 脚本。

VBA:从Word中的表中删除重复的行

Public Sub DeleteDuplicateRows2() UpdatebyExtendoffice20181011 Dim xTable As Table Dim xRow As Range Dim xStr As String Dim xDic As Object Dim I, J, KK, xNum As Long If ActiveDocument.Tables.Count = 0 Then MsgBox "This document does not have table(s).", vbInformation, "Kutools for Word" Exit Sub End If Application.ScreenUpdating = False Set xDic = CreateObject("Scripting.Dictionary") If Selection.Information(wdWithInTable) Then Set xTable = Selection.Tables(1) For I = xTable.Rows.Count To 1 Step -1 Set xRow = xTable.Rows(I).Range xStr = xRow.Text xNum = -1 If xDic.Exists(xStr) Then xTable.Rows(I).Delete For J = xTable.Rows.Count To 1 Step -1 If (xStr = xTable.Rows(J).Range.Text) And (J <> I) Then xNum = xNum + 1 xTable.Rows(J).Delete End If Next I = I - xNum Else xDic.Add xStr, I End If Next Else For I = 1 To ActiveDocument.Tables.Count Set xTable = ActiveDocument.Tables(I) xNum = -1 xDic.RemoveAll For J = xTable.Rows.Count To 1 Step -1 Set xRow = xTable.Rows(J).Range xStr = xRow.Text xNum = -1 If xDic.Exists(xStr) Then xTable.Rows(I).Delete For KK = xTable.Rows.Count To 1 Step -1 If (xStr = xTable.Rows(KK).Range.Text) And (KK <> J) Then xNum = xNum + 1 xTable.Rows(KK).Delete End If Next J = J - xNum Else xDic.Add xStr, J End If Next Next End If Application.ScreenUpdating = True End Sub

4。 按 F5

键运行代码,然后所有重复的行将被删除。

备注:上面的代码区分大小写,如果要删除不区分大小写的重复行,则可以使用下面的代码:

Public Sub DeleteDuplicateRows2() UpdatebyExtendoffice20181011 Dim xTable As Table Dim xRow As Range Dim xStr As String Dim xDic As Object Dim I, J, KK, xNum As Long If ActiveDocument.Tables.Count = 0 Then MsgBox "This document does not have table(s).", vbInformation, "Kutools for Word" Exit Sub End If Application.ScreenUpdating = False Set xDic = CreateObject("Scripting.Dictionary") If Selection.Information(wdWithInTable) Then Set xTable = Selection.Tables(1) For I = xTable.Rows.Count To 1 Step -1 Set xRow = xTable.Rows(I).Range xStr = UCase(xRow.Text) xNum = -1 If xDic.Exists(xStr) Then xTable.Rows(I).Delete For J = xTable.Rows.Count To 1 Step -1 If (xStr = xTable.Rows(J).Range.Text) And (J <> I) Then xNum = xNum + 1 xTable.Rows(J).Delete End If Next I = I - xNum Else xDic.Add xStr, I End If Next Else For I = 1 To ActiveDocument.Tables.Count Set xTable = ActiveDocument.Tables(I) xNum = -1 xDic.RemoveAll For J = xTable.Rows.Count To 1 Step -1 Set xRow = xTable.Rows(J).Range xStr = UCase(xRow.Text) xNum = -1 If xDic.Exists(xStr) Then xTable.Rows(I).Delete For KK = xTable.Rows.Count To 1 Step -1 If (xStr = xTable.Rows(KK).Range.Text) And (KK <> J) Then xNum = xNum + 1 xTable.Rows(KK).Delete End If Next J = J - xNum Else xDic.Add xStr, J End If Next Next End If Application.ScreenUpdating = True End Sub
Copy

如果要删除文档所有表中的重复行,请将光标放在表外文档的任何位置,然后应用上述代码之一。

分页浏览和编辑多个Word文档/ Excel工作簿,如Firefox,Chrome,Internet Explore 10!

您可能熟悉在 Firefox/Chrome/IE 中查看多个网页,并通过单击相应的选项卡轻松在它们之间切换。在这里,Office Tab支持类似的处理,它允许您在一个Word窗口或Excel窗口中浏览多个Word文档或Excel工作簿,并通过单击它们的选项卡轻松地在它们之间进行切换。点击免费试用Office Tab!

最佳办公生产力工具

Kutools for Word - 通过 Over 提升您的文字体验 100 显着特点!

如何从Word文档中的表中删除重复的行?

深入了解下面突出显示的功能或 单击此处探索 Kutools for Word 的全部功能.

📘 文档掌握: 分页  /  合并文件  /  以各种格式导出选择(PDF/TXT/DOC/XLSX)  /  批量转换为PDF  /  将页面导出为图像  /  一次打印多个文件 ...

内容编辑: 批量查找和替换跨多个文件   /  调整所有图片的大小   /  转置表行和列  /  将表格转换为文字 ...

创意插入: 插页 千位分隔符  /  复选框  /  单选按钮  /  二维码  /  条码  /  对角线表  /  公式标题  /  图片说明  /  表标题  /  多张图片  /  在我们的插入组中发现更多信息

🔍 精准选择: 精确定位特定页面  /  表  /  形状  /  标题段落  /  使用我们的选择组轻松导航

星级增强: 快速导航至任何位置  /  自动插入重复文本  /  在文档窗口之间无缝切换  /  11 转换工具 ...

使用 Kutools 转换您的 Word 任务。 👉 立即下载并试用 30 天 🚀。

了解更多       免费下载      购买

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何更新/刷新Word文档中的一个字段或所有字段?
下一篇:如何在Word中插入文档信息?
相关文章