Saltar al contenido principal

¿Cómo eliminar filas duplicadas de la tabla en un documento de Word?

En un documento de Word, puede haber algunas tablas con filas duplicadas que desee eliminar y mantener la primera apariencia a veces. En este caso, puede optar por eliminar los duplicados uno por uno manualmente, también puede optar por usar el código VBA.

Eliminar filas duplicadas de la tabla en Word


Eliminar filas duplicadas de la tabla en Word

1. Coloque el cursor en la tabla de la que desea eliminar las filas duplicadas, presione Alt + F11 claves para habilitar el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic en recuadro > Módulo para crear un nuevo módulo.
doc eliminar filas duplicadas table01

3. Copie los siguientes códigos y péguelos en el nuevo Módulo guión.

VBA: elimine filas duplicadas de la tabla en 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 eliminar filas duplicadas table02

4. Prensa F5 para ejecutar el código, se eliminarán todas las filas duplicadas.
doc eliminar filas duplicadas table03

Note: El código anterior distingue entre mayúsculas y minúsculas, si desea eliminar filas duplicadas en caso de que no distingan entre mayúsculas y minúsculas, puede utilizar el siguiente código:

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

Si desea eliminar filas duplicadas en todas las tablas del documento, coloque el cursor en cualquier lugar del documento fuera de la tabla y luego aplique uno de los códigos anteriores.


Navegación con pestañas y edición de varios documentos de Word / libros de trabajo de Excel como Firefox, Chrome, Internet Explore 10.

Es posible que esté familiarizado con ver varias páginas web en Firefox / Chrome / IE y cambiar entre ellas haciendo clic fácilmente en las pestañas correspondientes. Aquí, Office Tab admite un procesamiento similar, que le permite examinar varios documentos de Word o libros de trabajo de Excel en una ventana de Word o de Excel, y cambiar fácilmente entre ellos haciendo clic en sus pestañas.
¡Haga clic para obtener una prueba gratuita de Office Tab!

Explore varios documentos de Word en una ventana como Firefox

Las mejores herramientas de productividad de oficina

Kutools for Word - Mejore su experiencia con Word con Over 100 ¡Características notables!

🤖 Asistente de IA de Kutools: Transforma tu escritura con IA - Generar contenido  /  Reescribir texto  /  Resumir documentos  /  Solicite información basado en el documento, todo dentro de Word

📘 Dominio del documento: Dividir páginas  /  Combinar documentos  /  Exportar selección en varios formatos (PDF/TXT/DOC/HTML...)  /  Convertir por lotes a PDF  /  Exportar páginas como imágenes  /  Imprima varios archivos a la vez...

Edición de contenidos: Buscar y reemplazar por lotes en varios archivos  /  Cambiar el tamaño de todas las imágenes  /  Transponer filas y columnas de tabla  /  Convertir tabla en texto...

🧹 Limpieza sin esfuerzo: barrer Espacios extra  /  Saltos de sección  /  Todos los encabezados  /  Cuadros de texto  /  Los hipervínculos  / Para obtener más herramientas de extracción, diríjase a nuestro Quitar grupo...

Inserciones creativas: Insertar Mil Separadores  /  Casillas de verificación  /  Botones de radio  /  Código QR   /  Barcode  /  Tabla de líneas diagonales  /  Título de la ecuación  /  Captura de imagen  /  Pie de tabla  /  Varias imágenes  / Descubre más en el Insertar grupo...

🔍 Selecciones de precisión: Localizar páginas específicas  /  tablas  /  formas  /  párrafos de encabezado  / Mejorar la navegación con más, Seleccionar características...

Mejoras de estrellas: Navegue rápidamente a cualquier ubicación  /  insertar automáticamente texto repetitivo  /  alternar sin problemas entre ventanas de documentos  /  11 herramientas de conversión...

👉 ¿Quieres probar estas funciones? Kutools para Word ofrece una prueba gratuita de 60 días.¡Sin limitaciones! 🚀
 
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