Как удалить повторяющиеся строки из таблицы в документе 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
Если вы хотите удалить повторяющиеся строки во всех таблицах документа, поместите курсор в любое место документа за пределами таблицы, затем примените один из приведенных выше кодов.
Просмотр и редактирование нескольких документов Word / книг Excel с вкладками в Firefox, Chrome, Internet Explore 10! |
Возможно, вы знакомы с просмотром нескольких веб-страниц в Firefox / Chrome / IE и возможностью переключения между ними, легко щелкая соответствующие вкладки. Здесь вкладка Office поддерживает аналогичную обработку, которая позволяет вам просматривать несколько документов Word или книг Excel в одном окне Word или Excel и легко переключаться между ними, щелкая их вкладки. |
Лучшие инструменты для офисной работы
Kutools for Word - Повысьте свой опыт работы со словом с помощью Over 100 Замечательные особенности!
🤖 Kutools AI Помощник: Преобразуйте свое письмо с помощью искусственного интеллекта. Создать контент / Переписать текст / Обобщение документов / Запросить информацию на основе документа, все в Word
📘 Владение документами: Разделить страницы / Объединить документы / Экспортировать выбранное в различные форматы (PDF/TXT/DOC/HTML...) / Пакетное преобразование в PDF / Экспортировать страницы как изображения / Печать нескольких файлов одновременно...
✏ Редактирование содержания: Пакетный поиск и замена через несколько файлов / Изменить размер всех изображений / Транспонировать строки и столбцы таблицы / Преобразовать таблицу в текст...
🧹 Легкая очистка: Убрать Дополнительные места / Разрывы разделов / Все заголовки / Текстовые поля / Гиперссылки / Чтобы получить дополнительные инструменты для удаления, посетите наш Удалить группу...
➕ Креативные вставки: Вставлять Разделители тысяч / Флажки / радио кнопки / QR код / Штрих-код / Таблица диагональных линий / Заголовок уравнения / Заголовок изображения / Заголовок таблицы / Несколько изображений / Узнайте больше в Вставить группу...
???? Точный выбор: Точно определить конкретные страницы / Эта таблица / формы / заголовки абзацев / Улучшите навигацию с помощью БОЛЕЕ Выберите функции...
⭐ Звездные улучшения: Быстро перемещайтесь в любое место / автоматическая вставка повторяющегося текста / плавно переключаться между окнами документов / 11 инструментов преобразования...