Come rimuovere le righe duplicate da una tabella in un documento Word?
Author: SunLast Modified: 2025-08-06
In un documento Word, potrebbero esserci alcune tabelle con righe duplicate che si desidera rimuovere, mantenendo solo la prima occorrenza in alcuni casi. In questo caso, è possibile scegliere di rimuovere quelle duplicate una per una manualmente oppure utilizzare il codice VBA.
1. Posiziona il cursore sulla tabella da cui vuoi rimuovere le righe duplicate, quindi premi i tasti Alt + F11 per abilitare la finestra Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo per creare un nuovo Modulo.
3. Copia il seguente codice e incollalo nello script del nuovo Modulo.
VBA: Rimuovi righe duplicate da una tabella in 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. Premi il tasto F5 per eseguire il codice; tutte le righe duplicate verranno rimosse.
Nota: Il codice sopra è sensibile alle maiuscole/minuscole. Se vuoi rimuovere le righe duplicate senza distinzione tra maiuscole e minuscole, puoi usare il seguente codice:
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
Se desideri rimuovere le righe duplicate in tutte le tabelle del documento, posiziona il cursore in qualsiasi punto del documento al di fuori della tabella, quindi applica uno dei codici precedenti.
Office Tab: Introduce interfacce a schede in Word, Excel, PowerPoint...
Fai di più in meno tempo con Kutools per Word potenziato dall'IA
Kutools per Word non è solo un insieme di strumenti, ma una soluzione intelligente progettata per aumentare la tua produttività. Con funzionalità guidate dall'intelligenza artificiale e le caratteristiche più essenziali, Kutools ti aiuta a ottenere di più in meno tempo:
Riassumi, riscrivi, componi e traduci contenuti istantaneamente.
Correggi il testo in tempo reale con suggerimenti su grammatica, punteggiatura e stile mentre scrivi.
Riformula e traduci il contenuto mantenendo intatti layout, stile e struttura.
Traduci i tuoi contenuti in oltre 40 lingue facilmente, espandendo la tua portata a livello globale.
Ottieni assistenza immediata e approfondimenti intelligenti basati sul contenuto del documento corrente.
Chiedi come completare un compito, come rimuovere le interruzioni di sezione, e l'IA ti guiderà o lo farà al posto tuo.
Oscura informazioni sensibili o riservate in pochi secondi per garantire la massima privacy.
Tutti gli strumenti funzionano perfettamente all'interno di Word, sempre a portata di mano.
Crea, perfeziona, traduci, riassumi e proteggi documenti senza sforzo.
Migliora grammatica, chiarezza e tono mentre scrivi in tempo reale.
Riformula e traduci il contenuto senza modificare layout o formattazione.
Chiedi come completare un compito, come rimuovere le interruzioni di sezione, e l'IA ti guiderà o lo farà al posto tuo.
Tutti gli strumenti funzionano perfettamente all'interno di Word, sempre a portata di mano.