如何從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 Tab支持類似的處理,它允許您在一個Word窗口或Excel窗口中瀏覽多個Word文檔或Excel工作簿,并通過單擊它們的選項卡輕松地在它們之間進行切換。點擊免費試用Office Tab!
最佳辦公生產力工具
Kutools for Word - 通過 Over 提升您的文字體驗 100 顯著特點!
深入了解下面突出顯示的功能或 單擊此處探索 Kutools for Word 的全部功能.
?? 文檔掌握: 分頁 / 合并文件 / 以各種格式導出選擇(PDF/TXT/DOC/XLSX) / 批量轉換為PDF / 將頁面導出為圖像 / 一次打印多個文件 ...
? 內容編輯: 批量查找和替換跨多個文件 / 調整所有圖片的大小 / 轉置表行和列 / 將表格轉換為文字 ...
? 創意插入: 插頁 千位分隔符 / 復選框 / 單選按鈕 / 二維碼 / 條碼 / 對角線表 / 公式標題 / 圖片說明 / 表標題 / 多張圖片 / 在我們的插入組中發現更多信息
?? 精準選擇: 精確定位特定頁面 / 表 / 形狀 / 標題段落 / 使用我們的選擇組輕松導航
? 星級增強: 快速導航至任何位置 / 自動插入重復文本 / 在文檔窗口之間無縫切換 / 11 轉換工具 ...
使用 Kutools 轉換您的 Word 任務。 ?? 立即下載并試用 30 天 ??。
了解更多 免費下載 購買