Ir para o conteúdo principal

Como remover linhas duplicadas da tabela no documento do Word?

No documento do Word, pode haver algumas tabelas com linhas duplicadas que você deseja remover e manter a primeira aparência às vezes. Nesse caso, você pode optar por remover os duplicados um por um manualmente, também pode escolher usar o código VBA.

Remova as linhas duplicadas da tabela no Word


Remova as linhas duplicadas da tabela no Word

1. Coloque o cursor na tabela da qual deseja remover as linhas duplicadas e pressione Alt + F11 chaves para habilitar o Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Módulo para criar um novo módulo.
doc remove linhas duplicadas table01

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

VBA: Remover linhas duplicadas da 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

doc remove linhas duplicadas table02

4. Pressione F5 para executar o código, todas as linhas duplicadas serão removidas.
doc remove linhas duplicadas table03

Note: O código acima diferencia maiúsculas de minúsculas, se quiser remover linhas duplicadas sem distinção entre maiúsculas e minúsculas, você 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ê deseja remover linhas duplicadas em todas as tabelas do documento, coloque o cursor em qualquer lugar do documento fora da tabela e aplique um dos códigos acima.


Navegação com guias e edição de vários documentos do Word / pastas de trabalho do Excel como Firefox, Chrome, Internet Explore 10!

Você pode estar familiarizado com a visualização de várias páginas da web no Firefox/Chrome/IE e alternar entre elas clicando facilmente nas guias correspondentes. Aqui, o Office Tab oferece suporte a processamento semelhante, que permite navegar em vários documentos do Word ou pastas de trabalho do Excel em uma janela do Word ou janela do Excel e alternar facilmente entre eles clicando em suas guias.
Clique para testar gratuitamente o Office Tab!

Navegue por documentos com várias palavras em uma janela como o Firefox

Melhores ferramentas de produtividade de escritório

Kutools for Word - Eleve sua experiência com palavras com mais 100 Recursos notáveis!

🤖 Assistente de IA do Kutools: Transforme sua escrita com IA - Gerar conteúdo  /  Reescrever texto  /  Resumir documentos  /  Pergunte para obter informações com base no documento, tudo dentro do Word

📘 Domínio de documentos: Páginas divididas  /  Mesclar Documentos  /  Seleção de exportação em vários formatos (PDF/TXT/DOC/HTML...)  /  Conversão em lote para PDF  /  Exportar páginas como imagens  /  Imprima vários arquivos de uma vez...

Edição de conteúdo: Localização e substituição em lote em vários arquivos  /  Redimensionar todas as imagens  /  Transpor linhas e colunas da tabela  /  Converter tabela em texto...

🧹 Limpeza sem esforço: Varrer Espaços extras  /  Quebras de seção  /  Todos os cabeçalhos  /  Caixas de Texto  /  hiperlinks  / Para mais ferramentas de remoção, acesse nosso Remover Grupo...

Inserções criativas: Inserir Mil Separadores  /  Caixas de seleção  /  botões de rádio  /  QR Code  /  Código de barras  /  Tabela de linhas diagonais  /  Legenda da equação  /  Legenda da Imagem  /  Legenda da Tabela  /  Várias fotos  / Descubra mais no Inserir Grupo...

🔍 Seleções de precisão: Identificar páginas específicas  /  tabelas  /  formas  /  parágrafos de título  / Melhore a navegação com mais Selecione recursos...

Aprimoramentos de estrelas: Navegue rapidamente para qualquer local  /  inserir automaticamente texto repetitivo  /  alternar perfeitamente entre janelas de documentos  /  11 ferramentas de conversão...

👉 Quer experimentar esses recursos? Kutools para Word oferece um 60-day free trial, sem limitações! 🚀
 
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations