
如何從Word文檔中的表中刪除重復的行?
在Word文檔中,可能要刪除一些具有重復行的表,并有時保留第一個外觀。 在這種情況下,您可以選擇手動刪除一個重復的副本,也可以選擇使用VBA代碼。
從Word中的表中刪除重復的行
從Word中的表中刪除重復的行1.將光標放在要從中刪除重復行的表上,按 Alt + F11鍵 啟用 Microsoft Visual Basic應用程序 窗口。
2。 點擊 插頁 > 模塊
創(chuàng)建一個新的模塊。
3.復制以下代碼并將其粘貼到新代碼中 模塊 腳本。
VBA:從Word中的表中刪除重復的行
Public Sub DeleteDuplicateRows2()UpdatebyExtendoffice20181011Dim xTable As TableDim xRow As RangeDim xStr As StringDim xDic As ObjectDim I, J, KK, xNum As LongIf Activedocument.Tables.Count = 0 ThenMsgBox "This document does not have table(s).", vbInformation, "Kutools for Word"Exit SubEnd IfApplication.ScreenUpdating = FalseSet xDic = CreateObject("scripting.Dictionary")If Selection.Information(wdWithInTable) ThenSet xTable = Selection.Tables(1)For I = xTable.Rows.Count To 1 Step -1Set xRow = xTable.Rows(I).RangexStr = xRow.TextxNum = -1If xDic.Exists(xStr) ThenxTable.Rows(I).DeleteFor J = xTable.Rows.Count To 1 Step -1If (xStr = xTable.Rows(J).Range.Text) And (J <> I) ThenxNum = xNum + 1xTable.Rows(J).DeleteEnd IfNextI = I - xNumElsexDic.Add xStr, IEnd IfNextElseFor I = 1 To Activedocument.Tables.CountSet xTable = Activedocument.Tables(I)xNum = -1xDic.RemoveAllFor J = xTable.Rows.Count To 1 Step -1Set xRow = xTable.Rows(J).RangexStr = xRow.TextxNum = -1If xDic.Exists(xStr) ThenxTable.Rows(I).DeleteFor KK = xTable.Rows.Count To 1 Step -1If (xStr = xTable.Rows(KK).Range.Text) And (KK <> J) ThenxNum = xNum + 1xTable.Rows(KK).DeleteEnd IfNextJ = J - xNumElsexDic.Add xStr, JEnd IfNextNextEnd IfApplication.ScreenUpdating = TrueEnd Sub4。 按 F5
鍵運行代碼,然后所有重復的行將被刪除。
備注:上面的代碼區(qū)分大小寫,如果要刪除不區(qū)分大小寫的重復行,則可以使用下面的代碼:
Public Sub DeleteDuplicateRows2()UpdatebyExtendoffice20181011Dim xTable As TableDim xRow As RangeDim xStr As StringDim xDic As ObjectDim I, J, KK, xNum As LongIf Activedocument.Tables.Count = 0 ThenMsgBox "This document does not have table(s).", vbInformation, "Kutools for Word"Exit SubEnd IfApplication.ScreenUpdating = FalseSet xDic = CreateObject("scripting.Dictionary")If Selection.Information(wdWithInTable) ThenSet xTable = Selection.Tables(1)For I = xTable.Rows.Count To 1 Step -1Set xRow = xTable.Rows(I).RangexStr = UCase(xRow.Text)xNum = -1If xDic.Exists(xStr) ThenxTable.Rows(I).DeleteFor J = xTable.Rows.Count To 1 Step -1If (xStr = xTable.Rows(J).Range.Text) And (J <> I) ThenxNum = xNum + 1xTable.Rows(J).DeleteEnd IfNextI = I - xNumElsexDic.Add xStr, IEnd IfNextElseFor I = 1 To Activedocument.Tables.CountSet xTable = Activedocument.Tables(I)xNum = -1xDic.RemoveAllFor J = xTable.Rows.Count To 1 Step -1Set xRow = xTable.Rows(J).RangexStr = UCase(xRow.Text)xNum = -1If xDic.Exists(xStr) ThenxTable.Rows(I).DeleteFor KK = xTable.Rows.Count To 1 Step -1If (xStr = xTable.Rows(KK).Range.Text) And (KK <> J) ThenxNum = xNum + 1xTable.Rows(KK).DeleteEnd IfNextJ = J - xNumElsexDic.Add xStr, JEnd IfNextNextEnd IfApplication.ScreenUpdating = TrueEnd SubCopy如果要刪除文檔所有表中的重復行,請將光標放在表外文檔的任何位置,然后應用上述代碼之一。
分頁瀏覽和多個Word文檔/ Excel工作簿,如Firefox,Chrome,Internet Explore 10!
您可能熟悉在 Firefox/Chrome/IE 中查看多個網(wǎng)頁,并通過單擊相應的選項卡輕松在它們之間切換。在這里,Office Tab支持類似的處理,它允許您在一個Word窗口或Excel窗口中瀏覽多個Word文檔或Excel工作簿,并通過單擊它們的選項卡輕松地在它們之間進行切換。點擊Office Tab!
最佳辦公生產(chǎn)力工具
Kutools for Word- 通過 Over 提升您的文字體驗 100 顯著特點!深入了解下面突出顯示的功能或 單擊此處探索 Kutools for Word 的全部功能.

