Перейти до основного матеріалу

Як видалити повторювані рядки з таблиці в документі Word?

Автор: нд Остання зміна: 2020-10-09

У документі Word можуть бути деякі таблиці з повторюваними рядками, які ви хочете видалити, а іноді зберегти першу. У цьому випадку ви можете видалити дублікати по одному вручну, а також скористатися кодом VBA.

Видаліть повторювані рядки з таблиці у програмі Word


Видаліть повторювані рядки з таблиці у програмі Word

1. Помістіть курсор до таблиці, з якої потрібно видалити повторювані рядки, натисніть Alt + F11 клавіші, щоб увімкнути Microsoft Visual Basic для додатків вікна.

2. клацання Insert > Модулі створити новий модуль.
doc видалити повторювані рядки table01

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

doc видалити повторювані рядки table02

4. прес F5 для запуску коду, тоді всі повторювані рядки будуть видалені.
doc видалити повторювані рядки table03

примітки: Наведений вище код чутливий до регістру, якщо ви хочете видалити повторювані рядки, якщо регістр не чутливий, ви можете використати нижченаведений код:

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

Якщо ви хочете видалити повторювані рядки з усіх таблиць документа, поставте курсор у будь-яке місце документа за межами таблиці, а потім застосуйте один із наведених вище кодів.


Перегляд та редагування декількох документів Word / книг Excel із вкладками як Firefox, Chrome, Internet Explore 10!

Можливо, ви знайомі з переглядом кількох веб-сторінок у Firefox/Chrome/IE та переходом між ними, легко натискаючи відповідні вкладки. Тут вкладка Office підтримує подібну обробку, яка дозволяє переглядати кілька документів Word або робочих книг Excel в одному вікні Word або Excel і легко перемикатися між ними, натискаючи їхні вкладки.
Натисніть, щоб отримати безкоштовну пробну версію Office Tab!

Переглядайте кілька документів Word в одному вікні як Firefox

Найкращі інструменти продуктивності офісу

Kutools для Word - Підніміть свій досвід Word із Over 100 Чудові особливості!

🤖 Kutools AI Assistant: змініть свій текст за допомогою ШІ - Створення вмісту  /  Переписати текст  /  Узагальнити документи  /  Звертайтеся за інформацією на основі Документа, все в Word

📘 Майстерність документів: Розділити сторінки  /  Об’єднати документи  /  Експортувати вибране в різні формати (PDF/TXT/DOC/HTML...)  /  Пакетне перетворення в PDF  /  Експортувати сторінки як зображення  /  Друк кількох файлів одночасно...

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

🧹 Очищення без зусиль: Змітати Зайві простори  /  Розбиття розділів  /  Усі заголовки  /  Текстові поля  /  Гіперпосилання  / Щоб отримати більше інструментів для видалення, відвідайте наш сайт Вилучити групу...

Творчі вставки: Вставити Роздільники тисяч  /  Прапорці  /  радіо кнопки  /  QR-код  /  Штрих-код  /  Таблиця діагональних ліній  /  Заголовок рівняння  /  Підпис зображення  /  Заголовок таблиці  /  Кілька зображень  / Дізнайтеся більше в Вставити групу...

???? Точність вибору: Точне визначення конкретні сторінки  /  Таблиці  /  форми  /  заголовок абзаців  / Покращте навігацію за допомогою більше Виберіть функції...

Покращення зірок: Швидка навігація до будь-якого місця  /  автоматичне вставлення повторюваного тексту  /  плавно перемикатися між вікнами документів  /  11 Інструменти перетворення...

👉 Хочете спробувати ці функції? Kutools для Word пропонує a 60-денна безкоштовна пробна версія, без обмежень! ????
 
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations