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.
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
4. presa F5 tasta pentru a rula codul, apoi toate rândurile duplicate vor fi eliminate.
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. |
Cele mai bune instrumente de productivitate de birou
Kutools pentru Cuvânt - Crește-ți experiența Word cu Over 100 Caracteristici remarcabile!
🤖 Asistent AI Kutools: Transformă-ți scrisul cu AI - Generați conținut / Rescrie textul / Rezumat documente / Solicitați informații pe baza Documentului, toate în Cuvânt
📘 Stăpânirea documentelor: Pagini împărțite / Fuzionați documente / Exportați selecția în diferite formate (PDF/TXT/DOC/HTML...) / Conversie lot în PDF / Exportați paginile ca imagini / Imprimați mai multe fișiere simultan...
✏ Editarea continutului: Găsiți și înlocuiți în lot peste mai multe fișiere / Redimensionați toate imaginile / Transpuneți rânduri și coloane de tabel / Convertiți tabelul în text...
🧹 Curățare fără efort: Îndepărtați Spații suplimentare / Secțiuni pauze / Toate anteturile / Casete text / hiperlinkuri / Pentru mai multe instrumente de îndepărtare, mergeți la nostru Eliminați grupul...
➕ Inserții creative: Inserați Mii de separatori / Casete de bifare / Butoane radio / QR Code / coduri de bare / Tabel cu linii diagonale / Legenda ecuației / Image Caption / Legenda tabelului / Imagini multiple / Descoperiți mai multe în Inserați grupul...
???? Selectii de precizie: Repera cu precizie pagini specifice / tabele / forme / paragrafele de titlu / Îmbunătățiți navigarea cu mai mult Selectați caracteristici...
⭐ Îmbunătățiri de stele: Navigați rapid în orice locație / inserarea automată a textului repetitiv / comutați fără probleme între ferestrele documentelor / 11 Instrumente de conversie...