¿Cómo eliminar filas duplicadas de una tabla en un documento de Word?
Author: SunLast Modified: 2025-06-04
En un documento de Word, puede haber algunas tablas con filas duplicadas que desees eliminar y, a veces, mantener solo la primera aparición. En este caso, puedes optar por eliminar las duplicadas una por una manualmente o utilizar código VBA.
1. Coloca el cursor en la tabla de la que deseas eliminar las filas duplicadas, presiona las teclas Alt + F11 para habilitar la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo para crear un nuevo Módulo.
3. Copia el siguiente código y pégalo en el script del nuevo Módulo.
VBA: Eliminar filas duplicadas de una 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
4. Presiona la tecla F5 para ejecutar el código; luego, todas las filas duplicadas se eliminarán.
Nota: El código anterior distingue mayúsculas y minúsculas. Si deseas eliminar filas duplicadas sin distinguir mayúsculas y minúsculas, puedes usar 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 deseas eliminar filas duplicadas en todas las tablas del documento, coloca el cursor en cualquier lugar del documento fuera de la tabla y luego aplica uno de los códigos anteriores.
Office Tab: Añade interfaces con pestañas a Word, Excel, PowerPoint...
Haz más en menos tiempo con Kutools para Word mejorado con IA
Kutools para Word no es solo un conjunto de herramientas, es una solución inteligente diseñada para aumentar tu productividad. Con capacidades impulsadas por IA y las funciones más esenciales, Kutools te ayuda a lograr más en menos tiempo:
Resume, reescribe, compone y traduce contenido al instante.
Corrige el texto en tiempo real con sugerencias de gramática, puntuación y estilo mientras escribes.
Reformula y traduce contenido manteniendo intacto el diseño, estilo y estructura.
Traduce tu contenido a más de 40 idiomas fácilmente, ampliando tu alcance a nivel mundial.
Recibe ayuda instantánea e ideas inteligentes basadas en el contenido de tu documento actual.
Pregunta cómo completar una tarea, como eliminar saltos de sección, y la IA te guiará o lo hará por ti.
Redacta información sensible o confidencial en segundos para asegurar la privacidad completa.
Todas las herramientas funcionan sin problemas dentro de Word, siempre al alcance.
Crea, mejora, traduce, resume y protege documentos sin esfuerzo.
Mejora la gramática, la claridad y el tono mientras escribes en tiempo real.
Reformula y traduce contenido sin cambios en el diseño o formato.
Pregunta cómo completar una tarea, como eliminar saltos de sección, y la IA te guiará o lo hará por ti.
Todas las herramientas funcionan sin problemas dentro de Word, siempre al alcance.