Note: The other languages of the website are Google-translated. Back to English
Autentificare  \/ 
x
or
x
Înregistrare  \/ 
x

or

Cum se elimină rândurile duplicate din tabel în documentul Word?

În documentul Word, pot exista unele tabele cu rânduri duplicate pe care doriți să le eliminați și să păstrați câteodată prima apariție. În acest caz, puteți alege să eliminați manual duplicatele pe rând, de asemenea, puteți alege să utilizați codul VBA.

Eliminați rândurile duplicate din tabel în Word


Eliminați rândurile duplicate din tabel în Word

1. Așezați cursorul la masa din care doriți să eliminați rândurile duplicate, apăsați Alt + F11 tastele pentru a activa Microsoft Visual Basic pentru aplicații fereastră.

2. clic Insera > Module pentru a crea un nou modul.
doc eliminați rândurile duplicate table01

3. Copiați codurile de mai jos și lipiți-le în noul Module script-ul.

VBA: Eliminați rândurile duplicate din tabel în 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 eliminați rândurile duplicate table02

4. presa F5 tasta pentru a rula codul, apoi toate rândurile duplicate vor fi eliminate.
doc eliminați rândurile duplicate table03

notițe: Codul de mai sus este sensibil la majuscule și minuscule, dacă doriți să eliminați rândurile duplicate, dacă nu este sensibil la majuscule, puteți utiliza codul de mai jos:

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

Dacă doriți să eliminați rândurile duplicate din toate tabelele documentului, plasați cursorul în orice loc al documentului în afara tabelului, apoi aplicați unul dintre codurile de mai sus.


Navigarea cu file și editarea mai multor documente Word / registre de lucru Excel ca Firefox, Chrome, Internet Explore 10!

Este posibil să fiți familiarizați să vizualizați mai multe pagini web în Firefox / Chrome / IE și să comutați între ele făcând clic pe filele corespunzătoare. Aici, fila Office acceptă procesări similare, care vă permit să răsfoiți mai multe documente Word sau registre de lucru Excel într-o singură fereastră Word sau fereastră Excel și să comutați cu ușurință între ele făcând clic pe filele lor.
Faceți clic pentru o încercare gratuită a filei Office!

Răsfoiți mai multe documente Word într-o singură fereastră ca Firefox

Instrumente de productivitate Word recomandate

 

Kutools pentru Word - Mai mult de 100 de funcții avansate pentru Word, economisiți-vă 50% timp

  • Operațiile complicate și repetate pot fi efectuate o singură dată în câteva secunde.
  • Inserați mai multe imagini în foldere în documentul Word simultan.
  • Combinați și combinați mai multe fișiere Word din foldere într-unul singur cu comanda dorită.
  • Împărțiți documentul curent în documente separate în funcție de titlu, secțiune de secțiune sau alte criterii.
  • Convertiți fișiere între Doc și Docx, Docx și PDF, colecție de instrumente pentru conversii și selecție obișnuite și așa mai departe ...
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.