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

Hogyan lehet eltávolítani a duplikált sorokat a táblázatból a Word dokumentumban?

A Word dokumentumban előfordulhat, hogy néhány tábla duplikált sorokkal van eltávolítva, és néha megtartja az első megjelenést. Ebben az esetben dönthet úgy, hogy manuálisan eltávolítja a másolatokat egyenként, de a VBA kód használatát is.

Távolítsa el a duplikált sorokat a Word táblázatából


Távolítsa el a duplikált sorokat a Word táblázatából

1. Helyezze a kurzort ahhoz az asztalhoz, amelyből el kívánja távolítani a duplikált sorokat, nyomja meg a gombot Alt + F11 gombok a Microsoft Visual Basic for Applications ablak.

2. kettyenés betétlap > Modulok új modul létrehozásához.
doc távolítsa el az ismétlődő sorokat table01

3. Másolja az alábbi kódokat, és illessze be őket az újba Modulok szkripteket.

VBA: Távolítsa el az ismétlődő sorokat a Word táblázatából

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 távolítsa el az ismétlődő sorokat table02

4. nyomja meg F5 gombot a kód futtatásához, akkor az összes ismétlődő sor eltávolításra kerül.
doc távolítsa el az ismétlődő sorokat table03

Megjegyzések: A fenti kód megkülönbözteti a kis- és nagybetűket, ha érzéketlen esetben el akarja távolítani az ismétlődő sorokat, használhatja az alábbi kódot:

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

Ha el akarja távolítani az ismétlődő sorokat a dokumentum összes táblázatában, helyezze a kurzort a dokumentum bármely helyére a táblázaton kívül, majd alkalmazza a fenti kódok egyikét.


Füles böngészés és több Word-dokumentum / Excel-munkafüzet szerkesztése Firefox, Chrome, Internet Explore 10 néven!

Ismerős lehet, hogy több weboldalt tekint meg a Firefox / Chrome / IE böngészőben, és a megfelelő fülekre kattintva válthat közöttük. Itt az Office Tab támogatja a hasonló feldolgozást, amely lehetővé teszi több Word dokumentum vagy Excel munkafüzet böngészését egy Word ablakban vagy Excel ablakban, és a fülükre kattintva könnyedén válthat közöttük.
Kattintson az Office Tab ingyenes próbaverziójára!

Böngésszen több szavas dokumentumot egy ablakban Firefox néven

Ajánlott Word-termelékenységi eszközök

 

Kutools for Word - Több mint 100 speciális szolgáltatás a Word számára, takarítson meg 50% időt

  • A bonyolult és ismételt műveletek másodpercek alatt egyszeri feldolgozást végezhetnek.
  • Egyszerre több képet illesszen be a mappákba a Word dokumentumba.
  • Egyesítsen és egyesítsen több Word-fájlt a mappák között a kívánt sorrenddel.
  • Bontja az aktuális dokumentumot külön dokumentumokká címsor, szakasz törés vagy egyéb szempontok szerint.
  • Fájlok konvertálása a Doc és a Docx, a Docx és a PDF között, a közös konverzióhoz és kiválasztáshoz szükséges eszközök gyűjteménye stb.
A megjegyzések rendezése szerint
Hozzászólások (0)
Még nincs értékelés. Legyen Ön az első, aki értékel!
Még senki sem írt megjegyzést
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi