Como remover linhas duplicadas de uma tabela em um documento do Word?
Author: SunLast Modified: 2025-06-04
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.
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.
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
4. Pressione a tecla F5 para executar o código; em seguida, todas as linhas duplicadas serão removidas.
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...
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.