Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

Como remover linhas duplicadas de uma tabela em um documento do Word?

Author Sun Last modified

Em um documento do Word, pode haver algumas tabelas com linhas duplicadas que você deseja remover e, às vezes, manter apenas a primeira ocorrência. Nesse caso, você pode optar por remover as duplicadas manualmente, uma a uma, ou pode escolher usar o código VBA.

Remover linhas duplicadas de uma tabela no Word


Remover linhas duplicadas de uma tabela no Word

1. Coloque o cursor na tabela da qual deseja remover as linhas duplicadas, pressione as teclas Alt + F11 para habilitar a janela Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo para criar um novo Módulo.
Insert > Module options in the VBA window

3. Copie os códigos abaixo e cole-os no script do novo Módulo.

VBA: Remover linhas duplicadas de uma tabela no 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. Pressione a tecla F5 para executar o código; em seguida, todas as linhas duplicadas serão removidas.
All duplicate rows are removed from the table

Observação: O código acima diferencia maiúsculas de minúsculas. Se você quiser remover linhas duplicadas sem diferenciar maiúsculas de minúsculas, pode usar o código abaixo:

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 você quiser remover linhas duplicadas em todas as tabelas do documento, coloque o cursor em qualquer lugar do documento fora da tabela e, em seguida, aplique um dos códigos acima.


Office Tab: Traz interfaces com guias para o Word, Excel, PowerPoint...
Navigate through documents using Office Tab
Aprimore seu fluxo de trabalho agora.Saiba Mais sobre o Office Tab Download Grátis

Faça Mais em Menos Tempo com o Kutools para Word Aprimorado por IA

O Kutools para Word não é apenas um conjunto de ferramentas - é uma solução inteligente desenvolvida para aumentar sua produtividade. Com recursos impulsionados por IA e os recursos mais essenciais, o Kutools ajuda você a realizar mais em menos tempo:

  • Resuma, reescreva, componha e traduza conteúdo instantaneamente.
  • Corrija o texto em tempo real com sugestões de gramática, pontuação e estilo enquanto você escreve.
  • Reformule e traduza o conteúdo mantendo o layout, estilo e estrutura intactos.
  • Traduza seu conteúdo para mais de 40 idiomas facilmente, expandindo seu alcance globalmente.
  • Receba ajuda instantânea e insights inteligentes com base no conteúdo do documento atual.
  • Pergunte como concluir uma tarefa - como remover quebras de seção - e a IA irá guiá-lo ou fazer isso por você.
  • Censure informações sensíveis ou confidenciais em segundos para garantir privacidade total.
  • Todas as ferramentas funcionam perfeitamente dentro do Word, sempre ao alcance.
  • Crie, refine, traduza, resuma e proteja documentos sem esforço.
  • Melhore a gramática, clareza e tom enquanto escreve em tempo real.
  • Reformule e traduza o conteúdo sem alterações no layout ou formatação.
  • Pergunte como concluir uma tarefa - como remover quebras de seção - e a IA irá guiá-lo ou fazer isso por você.
  • Todas as ferramentas funcionam perfeitamente dentro do Word, sempre ao alcance.
Saiba mais sobre o Kutools para Word Baixar Agora
Kutools for Word features

Melhores Ferramentas de Produtividade para Office

Kutools for Word – Aprimore sua experiência no Word com mais de 100 recursos incríveis!

🤖 Funcionalidades de IA do Kutools: AI Assistant / Assistente em Tempo Real / Super Polir (Preservar Formato) / Super Traduzir (Preservar Formato) / Redação por IA / Revisão por IA...

📘 Domínio de Documentos: Dividir Páginas / Mesclar Documentos / Exportar Seleção em vários formatos (PDF/TXT/DOC/HTML...) / Converter em Lote para PDF...

Edição de Corpo: Localizar e Substituir em Lote em múltiplos arquivos / Redimensionar todas as Imagens / Transpor Linhas e Colunas de Tabela / Converter Tabela para Texto...

🧹 Limpeza Fácil: Elimine Espaços Extras / Quebras de Seção / Caixas de Texto / Hiperlinks / Para mais ferramentas de Remover, acesse o grupo Remover...

Inserções Criativas: Inserir Delimitadores de Milhares / Caixas de Seleção / Botões de Rádio / Código QR / Código de Barras / Múltiplas Imagens / Descubra mais no grupo Inserir...

🔍 Seleções Precisas: Localize Páginas Específicas / Tabelas / Formas / Parágrafos de Título / Melhore a navegação com mais recursos de Selecionar...

Melhorias Destacadas: Navegue para qualquer Intervalo / Insira Texto Repetitivo automaticamente / Alternar entre Janelas de Documento /11 ferramentas de Conversão...

🌍 Compatível com40+ Idiomas: Use Kutools no seu idioma preferido — compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Kutools and Kutools Plus tabs on the Word Ribbon
👉 Quer experimentar esses recursos? Baixe o Kutools for Word agora! 🚀
 

✨ Kutools for Office – Uma Instalação, Cinco Ferramentas Poderosas!

Inclui Office Tab Pro · Kutools para Excel · Kutools para Outlook · Kutools for Word · Kutools for PowerPoint

📦 Tenha todas as5 ferramentas em uma única suíte | 🔗 Integração perfeita com o Microsoft Office | ⚡ Economize Tempo e aumente a produtividade imediatamente

Melhores Ferramentas de Produtividade para Office

Kutools for Word – 100+ ferramentas para Word