Hoe dubbele rijen uit een tabel in een Word-document te verwijderen?
Author: SunLast Modified: 2025-05-29
In een Word-document kunnen er tabellen zijn met dubbele rijen die je wilt verwijderen, waarbij je soms alleen de eerste verschijning wilt behouden. In dit geval kun je ervoor kiezen om de dubbele rijen één voor één handmatig te verwijderen, maar je kunt ook kiezen om VBA-code te gebruiken.
1. Plaats de cursor op de tabel waaruit je de dubbele rijen wilt verwijderen en druk op Alt + F11 om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module om een nieuwe Module te maken.
3. Kopieer onderstaande code en plak deze in het script van de nieuwe Module.
VBA: Dubbele rijen uit een tabel in Word verwijderen
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. Druk op F5 om de code uit te voeren, waarna alle dubbele rijen worden verwijderd.
Opmerking: Bovenstaande code is hoofdlettergevoelig. Als je dubbele rijen op een niet-hoofdlettergevoelige manier wilt verwijderen, kun je de volgende code gebruiken:
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
Als je dubbele rijen uit alle tabellen in het document wilt verwijderen, plaats dan de cursor ergens in het document buiten de tabel en gebruik vervolgens een van bovenstaande codes.
Office Tab: Voegt tabbladinterfaces toe aan Word, Excel, PowerPoint...
Doe meer in minder tijd met AI-verbeterde Kutools voor Word
Kutools voor Word is niet zomaar een set tools - het is een slimme oplossing ontworpen om uw productiviteit te verhogen. Met AI-aangedreven mogelijkheden en de meest essentiële functies helpt Kutools u om meer te bereiken in minder tijd:
Samenvatten, herschrijven, componeren en vertalen van inhoud in een oogwenk.
Tekst in real-time proeflezen met suggesties voor grammatica, leestekens en stijl terwijl u schrijft.
Inhoud herformuleren en vertalen zonder dat de lay-out, stijl of structuur wordt aangepast.
Vertaal uw inhoud eenvoudig in meer dan 40 talen en breid uw wereldwijde bereik uit.
Ontvang directe hulp en intelligente inzichten gebaseerd op de inhoud van uw huidige document.
Vraag hoe u een taak kunt voltooien - zoals het verwijderen van sectie-einden - en de AI zal u begeleiden of het voor u doen.
Bewerk gevoelige of vertrouwelijke informatie binnen enkele seconden om volledige privacy te waarborgen.
Alle tools werken naadloos binnen Word en zijn altijd binnen handbereik.
Maak, verfijn, vertaal, samenvatten en beveilig documenten moeiteloos.
Verbeter grammatica, duidelijkheid en toon terwijl u in real-time schrijft.
Herschrijf en vertaal inhoud zonder wijzigingen in lay-out of opmaak.
Vraag hoe u een taak kunt voltooien - zoals het verwijderen van sectie-einden - en de AI zal u begeleiden of het voor u doen.
Alle tools werken naadloos binnen Word en zijn altijd binnen handbereik.