Przejdź do głównej zawartości

Jak usunąć zduplikowane wiersze z tabeli w dokumencie programu Word?

W dokumencie programu Word mogą istnieć tabele ze zduplikowanymi wierszami, które chcesz usunąć i czasami zachować pierwszy wygląd. W takim przypadku możesz ręcznie usuwać zduplikowane pliki jeden po drugim, możesz również użyć kodu VBA.

Usuń zduplikowane wiersze z tabeli w programie Word


Usuń zduplikowane wiersze z tabeli w programie Word

1. Umieść kursor na tabeli, z której chcesz usunąć zduplikowane wiersze, naciśnij Alt + F11 klawisze, aby włączyć Microsoft Visual Basic for Applications okno.

2. kliknij wstawka > Moduł aby utworzyć nowy moduł.
doc usuwa zduplikowane wiersze table01

3. Skopiuj poniższe kody i wklej je do nowego Moduł skrypt.

VBA: Usuń zduplikowane wiersze z tabeli w programie 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 usuwa zduplikowane wiersze table02

4. naciśnij F5 klucz do uruchomienia kodu, wszystkie zduplikowane wiersze zostaną usunięte.
doc usuwa zduplikowane wiersze table03

Note: W powyższym kodzie rozróżniana jest wielkość liter, jeśli chcesz usunąć zduplikowane wiersze bez rozróżniania wielkości liter, możesz użyć poniższego kodu:

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

Jeśli chcesz usunąć zduplikowane wiersze ze wszystkich tabel dokumentu, umieść kursor w dowolnym miejscu dokumentu poza tabelą, a następnie zastosuj jeden z powyższych kodów.


Przeglądanie w kartach i edycja wielu dokumentów Word / skoroszytów programu Excel, takich jak Firefox, Chrome, Internet Explore 10!

Możesz być zaznajomiony z przeglądaniem wielu stron internetowych w przeglądarce Firefox / Chrome / IE i przełączaniem się między nimi, łatwo klikając odpowiednie karty. Tutaj karta Office obsługuje podobne przetwarzanie, które umożliwia przeglądanie wielu dokumentów programu Word lub skoroszytów programu Excel w jednym oknie programu Word lub oknie programu Excel i łatwe przełączanie się między nimi, klikając ich zakładki.
Kliknij, aby uzyskać bezpłatną wersję próbną karty Office!

Przeglądaj dokumenty zawierające wiele słów w jednym oknie jako Firefox

Najlepsze narzędzia biurowe

Kutools dla Worda - Podnieś swoje doświadczenie ze słowami dzięki Over 100 Niezwykłe funkcje!

🤖 Kutools Asystent AI: Zmień swoje pisanie dzięki AI - Generuj zawartość  /  Przepisz tekst  /  Podsumowanie dokumentów  /  Zapytaj o informacje na podstawie Dokumentu, wszystko w programie Word

📘 Znajomość dokumentów: Podziel strony  /  Scal dokumenty  /  Eksportuj zaznaczenie w różnych formatach (PDF/TXT/DOC/HTML...)  /  Wsadowa konwersja do formatu PDF  /  Eksportuj strony jako obrazy  /  Drukuj wiele plików jednocześnie...

Edycja treści: Znajdź i zamień partii w wielu plikach  /  Zmień rozmiar wszystkich zdjęć  /  Transponuj wiersze i kolumny tabeli  /  Konwertuj tabelę na tekst...

🧹 Łatwe czyszczenie: Wymień Dodatkowe przestrzenie  /  Podziały sekcji  /  Wszystkie nagłówki  /  Pola tekstowe  /  Hiperłącza  / Więcej narzędzi do usuwania znajdziesz na naszej stronie Usuń grupę...

Kreatywne wstawki: Wstawić Tysiące separatorów  /  Pola wyboru  /  Przyciski Radio  /  Kod QR  /  kod kreskowy  /  Tabela linii ukośnych  /  Podpis równania  /  Tytuł Zdjęcia  /  Podpis tabeli  /  Wiele zdjęć  / Odkryj więcej w Wstaw grupę...

🔍 Precyzyjne wybory: Punktowy konkretne strony  /  stoły  /  kształty  /  nagłówki akapitów  / Ulepsz nawigację za pomocą jeszcze Wybierz funkcje...

Ulepszenia gwiazd: Nawiguj szybko do dowolnej lokalizacji  /  automatyczne wstawianie powtarzającego się tekstu  /  płynnie przełączaj się pomiędzy oknami dokumentów  /  11 Narzędzia konwersji...

???? Chcesz wypróbować te funkcje? Kutools dla Word oferuje Bezpłatna wersja próbna 60-day, bez ograniczeń! 🚀
 
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