Перейти к содержимому

Как удалить повторяющиеся строки из таблицы в документе Word?

Author: Sun Last Modified: 2025-08-07

В документе Word могут быть таблицы с повторяющимися строками, которые вы хотите удалить, оставив только первое вхождение. В этом случае можно выбрать удаление дубликатов вручную по одной строке или воспользоваться кодом VBA.

Удаление повторяющихся строк из таблицы в Word


Удаление повторяющихся строк из таблицы в Word

1. Поместите курсор в таблицу, из которой нужно удалить повторяющиеся строки, и нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Вставить > Модуль чтобы создать новый Модуль.
Insert > Module options in the VBA window

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 pasted into the Module window

4. Нажмите F5 для запуска кода, после чего все повторяющиеся строки будут удалены.
All duplicate rows are removed from the table

Примечание: Приведенный выше код учитывает регистр. Если вы хотите удалить повторяющиеся строки без учета регистра, вы можете использовать следующий код:

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...
Navigate through documents using Office Tab
Улучшите свой рабочий процесс прямо сейчас.Узнать больше об Office Tab Бесплатная загрузка

Делайте больше за меньшее время с Kutools для Word, усиленным ИИ

Kutools для Word — это не просто набор инструментов, это умное решение, созданное для повышения вашей продуктивности. Благодаря возможностям, управляемым искусственным интеллектом, и самым необходимым функциям, Kutools помогает вам делать больше за меньшее время:

  • Мгновенно суммируйте, переписывайте, составляйте и переводите контент.
  • Проверяйте текст в реальном времени с предложениями по грамматике, пунктуации и стилю во время написания.
  • Перефразируйте и переводите контент, сохраняя макет, стиль и структуру без изменений.
  • Легко переводите ваш контент более чем на 40 языков, расширяя свое глобальное присутствие.
  • Получайте мгновенную помощь и умные рекомендации на основе содержимого текущего документа.
  • Спросите, как выполнить задачу — например, удалить разрывы разделов — и ИИ проведет вас или сделает это за вас.
  • Редактируйте конфиденциальную информацию за считанные секунды, чтобы обеспечить полную конфиденциальность.
  • Все инструменты работают бесперебойно внутри Word, всегда под рукой.
  • Создавайте, улучшайте, переводите, суммируйте и защищайте документы без усилий.
  • Улучшайте грамматику, ясность и тон во время написания в реальном времени.
  • Перефразируйте и переводите контент без изменений макета или форматирования.
  • Спросите, как выполнить задачу — например, удалить разрывы разделов — и ИИ проведет вас или сделает это за вас.
  • Все инструменты работают бесперебойно внутри Word, всегда под рукой.
Узнать больше о Kutools для Word Скачать сейчас
Kutools for Word features

Лучшие инструменты для повышения производительности в Office

Kutools для Word– улучшите свой опыт работы с Word с помощью более чем 100 выдающихся функций!

🤖 Возможности Kutools AI: AI Ассистент / Ассистент в Реальном Времени / Супер Полировка (с сохранением формата) / Супер Перевод (с сохранением формата) / Искусственный интеллект для редактирования / Проверка с помощью ИИ...

📘 Мастерство работы с документами: Разделить страницы / Объединить документы / Экспортировать выделенное в различных форматах (PDF/TXT/DOC/HTML...) / Пакетно преобразовать в PDF...

Редактирование содержимого: Пакетный поиск и замена в нескольких файлах / Изменить размер всех изображений / Транспонировать строки и столбцы таблицы / Преобразовать таблицу в текст...

🧹 Лёгкая очистка: Удалите лишние пробелы / Разрывы разделов / текстовые поля / гиперссылки. Для других инструментов удаления перейдите в группу Удалить...

Творческие вставки: Вставить разделитель разрядов / Флажки / Переключатели / QR-код / Штрихкод / Несколько изображений. Откройте больше возможностей в группе Вставить...

🔍 Точные выделения: Точно определяйте нужные страницы / таблицы / фигуры / абзацы заголовка. Улучшайте навигацию благодаря расширенным функциям Выбрать ...

Уникальные улучшения: Переходите к любому расположению / Автоматически вставляйте повторяющийся текст / Переключайтесь между окнами документа /11 инструментов преобразования...

🌍 Поддержка более40 языков: Используйте Kutools на удобном вам языке – поддерживаются английский, испанский, немецкий, французский, китайский и ещё более40 языков!

Kutools and Kutools Plus tabs on the Word Ribbon
👉 Хотите попробовать эти функции? Скачайте Kutools для Word прямо сейчас! 🚀
 

Лучшие инструменты для повышения производительности в Office

Kutools для Word – 100+ инструментов для Word