Přejít k hlavnímu obsahu

Jak odstranit duplicitní řádky z tabulky v dokumentu Word?

V dokumentu Word mohou existovat některé tabulky s duplicitními řádky, které chcete odebrat a někdy si ponechat první vzhled. V takovém případě se můžete rozhodnout odstranit duplicitní jeden po druhém ručně, můžete také použít kód VBA.

Odeberte duplicitní řádky z tabulky v aplikaci Word


Odeberte duplicitní řádky z tabulky v aplikaci Word

1. Umístěte kurzor na tabulku, ze které chcete odstranit duplicitní řádky, stiskněte Alt + F11 klávesy pro povolení Microsoft Visual Basic pro aplikace okno.

2. cvaknutí Vložit > Modul k vytvoření nového modulu.
doc odstranit duplicitní řádky table01

3. Zkopírujte níže uvedené kódy a vložte je do nového Modul skripty.

VBA: Odstraňte duplicitní řádky z tabulky v aplikaci 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 odstranit duplicitní řádky table02

4. lis F5 klíč ke spuštění kódu, pak budou odstraněny všechny duplicitní řádky.
doc odstranit duplicitní řádky table03

Poznámka: Nad kódem se rozlišují velká a malá písmena, pokud chcete odstranit duplicitní řádky, pokud nerozlišují malá a velká písmena, můžete použít následující kód:

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

Pokud chcete odstranit duplicitní řádky ze všech tabulek dokumentu, umístěte kurzor na jakékoli místo dokumentu mimo tabulku a poté použijte jeden z výše uvedených kódů.


Procházení a úpravy více dokumentů Word / sešitů aplikace Excel jako Firefox, Chrome, Internet Prozkoumejte na kartách 10!

Možná znáte prohlížení více webových stránek ve Firefoxu / Chrome / IE a přepínáte mezi nimi snadným kliknutím na příslušné karty. Zde karta Office podporuje podobné zpracování, které vám umožní procházet více dokumentů aplikace Word nebo sešitů aplikace Excel v jednom okně aplikace Word nebo v okně aplikace Excel a snadno mezi nimi přepínat kliknutím na jejich karty.
Klikněte na bezplatnou zkušební verzi karty Office!

Procházejte více slovních dokumentů v jednom okně jako Firefox

Nejlepší nástroje pro produktivitu v kanceláři

Kutools pro Word - Zvyšte své zkušenosti se slovem Over 100 Pozoruhodné vlastnosti!

🤖 Kutools AI asistent: Transformujte své psaní pomocí AI - Generovat obsah  /  Přepsat text  /  Shrnout dokumenty  /  Vyžádejte si informace na základě dokumentu, vše ve Wordu

📘 Mistrovství dokumentů: Rozdělit stránky  /  Sloučit dokumenty  /  Exportovat výběr v různých formátech (PDF/TXT/DOC/HTML...)  /  Dávkový převod do PDF  /  Exportujte stránky jako obrázky  /  Tisk více souborů najednou...

Úprava obsahu: Dávkové hledání a nahrazení přes více souborů  /  Změnit velikost všech obrázků  /  Transponujte řádky a sloupce tabulky  /  Převést tabulku na text...

🧹 Čištění bez námahy: Smést pryč Extra prostory  /  Sekce přestávky  /  Všechny záhlaví  /  Textová pole  /  Odkazy  / Další nástroje pro odstraňování naleznete u nás Odstranit skupinu...

Kreativní vložky: Vložit Tisíc separátorů  /  Zaškrtávací políčka  /  Tlačítka rádia  /  QR kód  /  čárový kód  /  Tabulka diagonálních čar  /  Titulek rovnice  /  Titulek obrázku  /  Titulek tabulky  /  Více obrázků  / Objevte více v Vložit skupinu...

???? Přesné výběry: Přesně konkrétní stránky  /  Tabulky  /  Tvary  /  nadpisové odstavce  / Vylepšete navigaci pomocí vice Vyberte funkce...

Vylepšení hvězd: Navigujte rychle na libovolné místo  /  automatické vkládání opakujícího se textu  /  plynule přepínat mezi okny dokumentů  /  11 Konverzní nástroje...

???? Chcete si tyto funkce vyzkoušet? Kutools for Word nabízí a Denní zkušební doba 60, bez omezení! ????
Stažení zdarma     Více     Kup nyní
 
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