Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

Come rimuovere le righe duplicate da una tabella in un documento Word?

Author Sun Last modified

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.

Rimuovi righe duplicate da una tabella in Word


Rimuovi righe duplicate da una tabella in Word

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.
Insert > Module options in the VBA window

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

VBA pasted into the Module window

4. Premi il tasto F5 per eseguire il codice; tutte le righe duplicate verranno rimosse.
All duplicate rows are removed from the table

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...
Navigate through documents using Office Tab
Migliora il tuo flusso di lavoro ora.Scopri di più su Office Tab Download gratuito

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.
Scopri di più su Kutools per Word Scarica Ora
Kutools for Word features

I migliori strumenti per la produttività in ufficio

Kutools for Word - Eleva la tua esperienza su Word con oltre 100 funzioni straordinarie!

🤖 Funzionalità AI di Kutools: Assistente AI / Assistente in Tempo Reale / Super Lucida (Mantieni Formato) / Super Traduci (Mantieni Formato) / Redazione AI / Correzione AI...

📘 Maestria del Documento: Dividi Pagine / Unisci Documenti / Esporta Intervallo in vari formati (PDF/TXT/DOC/HTML...) / Conversione in batch in PDF...

Modifica del Testo: Trova e Sostituisci in batch su più file / Ridimensiona tutte le Immagini / Trasponi Righe e Colonne della Tabella / Converti Tabella in Testo...

🧹 Pulizia senza sforzo: Elimina Spazi Extra / Interruzioni di Sezione / Casella di testo / Collegamenti ipertestuali / Per altri strumenti di rimozione, visita il gruppo Rimuovi...

Inserimenti Creativi: Inserisci Separatore delle Migliaia / Casella di Controllo / Pulsante di Opzione / Codice QR / Codice a Barre / Immagini multiple / Scopri di più nel gruppo Inserisci...

🔍 Selezioni Accurate: Individua Pagine Specifiche / Tabelle / Forma / Paragrafo di Intestazione / Migliora la navigazione con altre funzioni di Seleziona...

Miglioramenti Speciali: Vai a qualsiasi Intervallo / Inserimento automatico di testo ripetitivo / Passa tra Finestre dei Documenti /11 strumenti di Conversione...

🌍 Supporta oltre40 lingue: Usa Kutools nella lingua che preferisci – Inglese, Spagnolo, Tedesco, Francese, Cinese, e più di altre40 lingue!

Kutools and Kutools Plus tabs on the Word Ribbon
👉 Vuoi provare queste funzionalità? Scarica subito Kutools for Word! 🚀
 

✨ Kutools for Office – Una sola installazione, cinque strumenti potenti!

Include Office Tab Pro · Kutools per Excel · Kutools per Outlook · Kutools for Word · Kutools for PowerPoint

📦 Ottieni tutti e5 gli strumenti in un'unica suite | 🔗 Integrazione perfetta con Microsoft Office | ⚡ Risparmia tempo e aumenta subito la produttività

I migliori strumenti per la produttività in ufficio

Kutools for Word - 100+ strumenti per Word