KutoolsforOffice— 一套方案,五大工具。事半功倍。

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

作者Sun修改日期

在 Word 文档中,部分表格可能包含多行重复内容,而您有时只需保留首次出现的那一行。此时,您既可以手动逐一删除重复项,也可以通过 VBA 代码高效完成这一操作。

在 Word 表格中移除重复行


在 Word 表格中删除重复行

1. 将光标定位到需要移除重复行的表格处,按下 Alt + F11 组合键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 点击插入 > 模块 即可新建一个模块。
在 VBA 窗口中插入 > 模块选项

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

VBA 粘贴到模块窗口中

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

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


Office Tab:为 Word、Excel、PowerPoint 带来标签式界面……
使用 Office Tab 在文档中导航
立即提升您的工作流程。      了解更多 Office Tab 详情      立即免费下载

借助 AI 增强的 Kutools for Word,高效完成更多工作

Kutools for Word 不仅是一套工具,更是一款专为提升办公效率打造的智能解决方案。凭借 AI 驱动的强大功能与实用特性,Kutools 助您以更少的时间高效完成更多任务:

  • 即时总结、改写、创作及翻译内容,一站式轻松实现。
  • 实时校对文本,在写作过程中为您提供语法、标点及文风方面的专业建议。
  • 请重述或翻译内容,同时保持原有的版式、风格和结构不变。
  • 轻松将内容翻译成 40 多种语言,助您轻松拓展全球影响力。
  • 基于您当前的文档内容,实时获取智能化帮助与深度见解。
  • 您可以咨询如何完成某项任务,例如删除分节符——AI 将为您提供操作指南或自动为您完成。
  • 几秒钟内即可遮盖敏感或机密信息,全方位守护您的隐私。
  • 所有工具均可无缝集成至 Word,随时随地,轻松调用。
  • 轻松创建、润色、翻译、总结和保护您的文档。
  • 实时优化您的语法、表达清晰度与语气。
  • 重述和翻译内容,保持版式和格式完全不变。
  • 您可以咨询如何完成特定任务,例如删除分节符——AI 将为您提供操作指南或自动为您完成。
  • 所有工具均可无缝集成至 Word,随时随地轻松使用。
了解更多关于 Kutools for Word立即下载
Kutools for Word 功能

最佳办公效率工具

Kutools for Word——集成超过 100 项卓越功能,全面提升您的 Word 体验!

🤖KUTOOLS AI 功能AI 助手/实时助手/超级润色(保留格式)/超级翻译(保留格式)/AI 遮挡/AI 校正……

📘 文档精通分割页面/文档合并/批量选择导出为多种格式(PDF/TXT/DOC/HTML……)/批量转换为 PDF……

内容编辑批量查找与替换跨多个文件/统一调整所有图片大小/调整翻转表格行列/表格转文本……

🧹 轻松清理:一键清除多余空格/分节符/文本框/超链接/ 想要更多清理工具,请前往移除分组……

创意插入:插入千位分隔符/复选框/选项按钮/二维码/条形码/多图插入/ 更多插入选项请查看插入分组……

🔍 精准选择:快速定位特定页面/表格/形状/标题段落/ 利用更多选择功能提升导航效率……

明星增强功能跳转到任意位置/自动插入重复文本/在多个文档 Windows 间切换/11 转换工具……

🌍 支持 40+ 种语言:无论您身处何地,Kutools 均支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Word
 
 

Office Tab- 为 Office 带来标签式界面,让您的工作更轻松高效

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中,轻松启用标签式编辑与阅读功能。
  • 在同一窗口中打开和创建多个文档标签,而非在新窗口中分别打开。
  • 让您的工作效率提升 50%,每天为您减少数百次鼠标点击!

✨ Kutools for Office —— 一次安装,畅享五大强力工具!

包含 Office Tab Pro·Kutools for Excel·Kutools for Outlook·Kutools for Word·Kutools for PowerPoint

📦 一套打包 5 个工具 | 🔗 与 Microsoft Office 无缝集成 | ⚡ 保存时间,立即提升效率

最佳办公效率工具

Kutools for Word- 100+ 款 Word 工具