Hoppa till huvudinnehåll

Hur tar jag bort dubbla rader från tabellen i Word-dokument?

I Word-dokument kan det finnas några tabeller med dubbla rader som du vill ta bort och behålla det första utseendet ibland. I det här fallet kan du välja att ta bort dubbletterna en efter en manuellt, du kan också välja att använda VBA-koden.

Ta bort dubbla rader från tabellen i Word


Ta bort dubbla rader från tabellen i Word

1. Placera markören vid den tabell du vill ta bort dubbletteraderna från, tryck på Alt + F11 för att aktivera Microsoft Visual Basic för applikationer fönster.

2. klick Insert > Modulerna för att skapa en ny modul.
doc ta bort dubbla rader tabell01

3. Kopiera nedanstående koder och klistra in dem i den nya Modulerna skript.

VBA: Ta bort dubbla rader från tabellen i 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 ta bort dubbla rader tabell02

4. Tryck F5 nyckel för att köra koden, då tas alla dubbletterader bort.
doc ta bort dubbla rader tabell03

Anmärkningar: Ovanstående kod är skiftlägeskänslig, om du vill ta bort dubbla rader om det inte är skiftlägeskänsligt kan du använda koden nedan:

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

Om du vill ta bort dubbletterader i alla tabeller i dokumentet, placerar du markören på valfri plats utanför dokumentet och tillämpar sedan en av ovanstående koder.


Tabbad surfning och redigering av flera Word-dokument / Excel-arbetsböcker som Firefox, Chrome, Internet Explore 10!

Du kanske är bekant att visa flera webbsidor i Firefox / Chrome / IE och växla mellan dem genom att enkelt klicka på motsvarande flikar. Här stöder Office Tab liknande bearbetning, som låter dig bläddra i flera Word-dokument eller Excel-arbetsböcker i ett Word-fönster eller Excel-fönster och enkelt växla mellan dem genom att klicka på deras flikar.
Klicka för gratis provversion av Office Tab!

Bläddra i flera orddokument i ett fönster som Firefox

Bästa kontorsproduktivitetsverktyg

Kutools för Word - Höj din ordupplevelse med Over 100 Anmärkningsvärda funktioner!

🤖 Kutools AI Assistant: Förvandla ditt skrivande med AI - Generera innehåll  /  Skriv om text  /  Sammanfatta dokument  /  Fråga för information baserat på dokument, allt i Word

📘 Dokumentbehärskning: Dela sidor  /  Sammanfoga dokument  /  Exportera urval i olika format (PDF/TXT/DOC/HTML...)  /  Batchkonvertera till PDF  /  Exportera sidor som bilder  /  Skriv ut flera filer samtidigt...

Innehållsredigering: Batch Hitta och ersätt över flera filer  /  Ändra storlek på alla bilder  /  Transponera tabellrader och kolumner  /  Konvertera tabell till text...

🧹 Enkel rengöring: Svep bort Extra utrymmen  /  Avsnitt bryter  /  Alla rubriker  /  Textrutor  /  Hyperlänkar  / För fler borttagningsverktyg, gå till vår Ta bort gruppen...

Kreativa inlägg: Föra in Tusen avskiljare  /  Kryssrutor  /  radio Knappar  /  QR-kod  /  Streckkod  /  Diagonal linjebord  /  Bildtext för ekvation  /  Bild Bildtext  /  Tabelltextning  /  Flera bilder  / Upptäck mer i Infoga grupp...

🔍 Precisionsval: Precisera specifika sidor  /  Tabellerna  /  former  /  rubrikerna  / Förbättra navigering med mer Välj funktioner...

Stjärnförbättringar: Navigera snabbt till vilken plats som helst  /  infoga repetitiv text automatiskt  /  växla sömlöst mellan dokumentfönster  /  11 Konverteringsverktyg...

👉 Vill du prova dessa funktioner? Kutools för Word erbjuder en 60-dagars gratis försök, utan begränsningar! 🚀
 
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