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

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

У документі 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 Tab підтримує подібну обробку, що дозволяє переглядати кілька документів Word або робочих книг Excel в одному вікні Word або Excel і легко перемикатися між ними, натискаючи їхні вкладки.
Натисніть, щоб отримати безкоштовну пробну версію Office Tab!

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

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

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

Зануртеся в виділені функції нижче або натисніть тут, щоб дослідити всю потужність Kutools for Word.

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

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

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

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

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

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

Перетворіть свої завдання Word за допомогою Kutools. 👉 Завантажте зараз із 30-денною пробною версією 🚀.

 
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