KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

從 Word 文件表格中移除重複行(完整指南)

作者修改日期

Word 表格中的重複行不僅讓文件顯得混亂、不專業,更會大幅增加資料分析的難度—特別是在處理複製內容、匯入報表或問卷結果時。遺憾的是,Microsoft Word 並未像 Excel 那樣內建「刪除重複項目」功能。
但別擔心!您仍有數種可靠方法可輕鬆清理 Word 中的重複行。以下精選三種實用技巧,從初學者友善的手動操作到進階自動化方案,每種都附上清晰的逐步說明,助您快速提升效率!

從表格中移除重複的列

從 Word 表格中移除重複行

結論


方法 1:使用 Excel 移除重複行

由於 Microsoft Excel 專為資料管理而設計,處理重複資料最可靠的方式,就是先將表格暫時移至 Excel 處理完畢後,再移回 Word。

  1. 複製表格:
    在 Word 中,將游標移至表格上方,點擊左上角的十字圖示以選取整個表格,再按下 Ctrl + C 即可完成複製!
    從 Word 複製表格
  2. 貼到 Excel:
    開啟空白的 Excel 工作表,選取儲存格 A1,然後按下 Ctrl + V。
  3. Excel 中的刪除重複:
    • 反白標示數據區域。
    • 前往頂部功能區中的資料頁籤。
    • 按一下刪除重複(位於)資料工具群組中)。
    • 請確認所有欄位皆已勾選,然後點擊確定
      在 Excel 中移除重複項目
    • Excel 將顯示已移除的重複列數量。
      Excel 將顯示已移除多少個重複的列
  4. 轉回 Word:
    複製 Excel 中已清理的資料,返回 Word 文件,刪除舊表格後,按下 Ctrl + V 貼上不重複的列。
優點
  • 極高準確度
  • 無需編寫程式碼
  • 適用於大型表格
限制
  • 一次僅能處理一個表格
  • 需在 Word 與 Excel 之間切換

方法 2:使用 VBA 程式碼移除重複行(適用於單一或所有表格)

若您經常處理大型 Word 表格,並希望在文件中實現自動化,VBA 是一個理想選擇。此方法可直接在 Word 中比對並刪除重複的列。

這段 VBA 程式碼可協助您從目前 Word 文件中的特定表格或所有表格中移除重複的列,僅保留每個唯一列的首次出現項目。

⚠️ 提示:執行 VBA 程式碼前務必先備份您的文件。
  1. 按下 Alt + F11,立即開啟 Microsoft Visual Basic for Applications 視窗!
  2. 點擊插入> 模組 以建立新模組。將下列 VBA 程式碼複製並貼上至模組視窗。
    Public Sub DeleteDuplicateRowsClean()
        Dim xTable As Table
        Dim xDic As Object
        Dim i As Long, j As Long
        Dim xStr As String
    
        If ActiveDocument.Tables.Count = 0 Then
            MsgBox "There is no table in this file", vbInformation, "Kutoolsfor word"
            Exit Sub
        End If
    
        Set xDic = CreateObject("Scripting.Dictionary")
        Application.ScreenUpdating = False
        If Selection.Information(wdWithInTable) Then
            ProcessTable Selection.Tables(1), xDic
        Else
            For i = 1 To ActiveDocument.Tables.Count
                ProcessTable ActiveDocument.Tables(i), xDic
                xDic.RemoveAll
            Next i
        End If
    
        Application.ScreenUpdating = True
        MsgBox "Complete!", vbInformation
    End Sub
    
    
    Private Sub ProcessTable(targetTable As Table, dic As Object)
        Dim r As Long
        Dim rowText As String
    
        For r = targetTable.Rows.Count To 1 Step -1
            rowText = targetTable.Rows(r).Range.Text
            If dic.Exists(rowText) Then
                targetTable.Rows(r).Delete
            Else
                dic.Add rowText, True
            End If
        Next r
    End Sub
          
  3. 關閉程式碼視窗,執行下列任一操作:
    • 若要從特定表格中刪除重複項目:
      請在目標表格內任意位置點擊一下。
    • 若要從所有表格中刪除重複項目:
      請確保游標未置於任何表格內。
  4. 按下 Alt + F8,選取 DeleteDuplicateRowsClean 巨集,然後點擊執行

結果:
重複的資料列已自動從您選取的表格,或文件中的所有表格中移除。

注意:上述程式碼為區分大小寫,若您希望以不分大小寫方式移除重複行,可使用下方程式碼:
Public Sub DeleteDuplicateRowsIgnoreCase()
    Dim xTable As Table
    Dim xDic As Object
    Dim i As Long

    If ActiveDocument.Tables.Count = 0 Then
        MsgBox "There are no tables", vbInformation, "Kutoolsfor word"
        Exit Sub
    End If
    Set xDic = CreateObject("Scripting.Dictionary")
    xDic.CompareMode = 1

    Application.ScreenUpdating = False

    If Selection.Information(wdWithInTable) Then
        ProcessTable Selection.Tables(1), xDic
    Else
        For i = 1 To ActiveDocument.Tables.Count
            xDic.RemoveAll
            ProcessTable ActiveDocument.Tables(i), xDic
        Next i
    End If

    Application.ScreenUpdating = True
    MsgBox "complete", vbInformation
End Sub

Private Sub ProcessTable(targetTable As Table, dic As Object)
    Dim r As Long
    Dim rowText As String
    For r = targetTable.Rows.Count To 1 Step -1
        rowText = targetTable.Rows(r).Range.Text
        If dic.Exists(rowText) Then
            targetTable.Rows(r).Delete
        Else
            dic.Add rowText, True
        End If
    Next r
End Sub
    

方法 3:使用 Kutools for Word 移除重複行 / 欄(適用於單一或所有表格)

若您想以最快速且最友善使用者的方式從 Word 表格中移除重複行,Kutools for Word 絕對是您的理想選擇。有別於手動操作或 VBA 腳本,Kutools 提供專屬功能,只需輕點幾下,即可輕鬆清理單一表格或整份文件中所有表格的重複資料。無需編寫程式碼、無需複製到 Excel,也無需繁瑣設定——特別適合經常處理大型或多個表格,並希望立即獲得精準結果的使用者。

下載並安裝 Kutools for Word 後,請依照下列步驟操作:

  1. 前往 KUTOOLS PLUS 選項卡,點擊表格 > 刪除表格行/列,即可開啟對話方塊。
    點擊「刪除空白列/欄」功能
  2. 刪除表格中的空白或重複行/欄對話方塊中,設定下列選項: dialog box, specify the following options:
    1. 選擇範圍(搜尋位置)
      在「搜尋位置」下拉列表中,選取下列其中一個選項:
      • 選中的表格(複數)– 僅從您選取的表格中移除重複列。
      • 作用於目前文件中的所有表格——一鍵清除當前文檔中所有表格的重複行,讓資料更精簡清晰!
    2. 指定要刪除的類型,並選取
    3. 選取重複行/欄,表示您要移除重複的列或欄。
    4. 設定其他選用選項
      • 區分大小寫(選用):
        若您希望 Kutools 將大小寫不同的文字視為不同值,請啟用此選項。
      • 刪除空白行(選用):
        若想一併移除空白列,請勾選此選項。
    5. 按一下確定
      在對話框中指定選項

結果:
Kutools 將立即掃描指定的表格,並移除您所指定的重複列或欄。
使用 Kutools for Word 移除重複的列 / 欄

優點
  • 速度極快
  • 適用於單一、選取或多個表格
  • 無需 VBA 或 Excel
  • 非技術使用者的理想選擇
Kutools for Word

Kutools for Word 提供強大的表格工具,只需輕點幾下,即可快速移除重複或空白的列項目——無需編寫程式碼、無需 Excel,也無需繁瑣設定。


結論

由於 Word 未內建去重複功能,從 Word 表格中移除重複行可能頗具挑戰性。然而,只要選對方法,您就能高效又精準地清理資料!

  • 當您需要處理單一表格中的大量資料時,Excel 是可靠之選,尤其適合偏好使用熟悉介面且無需編寫程式碼的使用者。
  • VBA 程式碼適合進階使用者,能自動化流程,從單一或所有工作表中移除重複列,但需具備技術知識,且文件必須啟用巨集。
  • 使用 Kutools for Word 是最快速且使用者最友善的解決方案,只需點擊幾下,即可輕鬆從單一或所有表格中移除重複列,完全無需 Excel 或 VBA。

透過選擇最符合您技能水準與文件複雜度的方法,即可確保 Word 表格整潔、準確且易於管理,節省寶貴時間並避免重複的手動作業。