Note: The other languages of the website are Google-translated. Back to English

¿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

Nota:: 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

Herramientas de productividad de palabras recomendadas

 

Kutools para Word: más de 100 funciones avanzadas para Word, ahorre su 50% de tiempo

  • Las operaciones complicadas y repetidas se pueden realizar un solo procesamiento en segundos.
  • Inserte varias imágenes en carpetas en un documento de Word a la vez.
  • Fusiona y combina varios archivos de Word en carpetas en uno con el orden que desees.
  • Divida el documento actual en documentos separados según el encabezado, el salto de sección u otros criterios.
  • Convierta archivos entre Doc y Docx, Docx y PDF, colección de herramientas para conversiones y selección comunes, etc.
Comentarios (0)
Aún no hay calificaciones. ¡Sé el primero en calificar!
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL