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.
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
4. nyomja meg F5 gombot a kód futtatásához, akkor az összes ismétlődő sor eltávolításra kerül.
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 Firefox/Chrome/IE böngészőben több weboldalt is megtekinthet, és a megfelelő lapokra kattintva egyszerűen 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- vagy Excel-ablakban, és a fülükre kattintva könnyedén válthat közöttük. |
A legjobb irodai hatékonyságnövelő eszközök
Kutools for Word - Növelje Word-élményét az Over segítségével 100 Figyelemre méltó tulajdonságok!
🤖 Kutools AI asszisztens: Alakítsa át írását mesterséges intelligencia segítségével - Tartalom létrehozása / Szöveg átírása / Összefoglalja a dokumentumokat / Információért érdeklődjön dokumentum alapján, mindezt a Word-en belül
📘 Dokumentummesterség: Felosztott oldalak / Dokumentumok egyesítése / Kijelölés exportálása különböző formátumokban (PDF/TXT/DOC/HTML...) / Kötegelt konvertálás PDF-be / Oldalak exportálása képként / Nyomtasson több fájlt egyszerre...
✏ Tartalom Szerkesztés: Kötegelt keresés és csere Több fájl között / Minden kép átméretezése / Transzponálja a táblázat sorait és oszlopait / Táblázat konvertálása szöveggé...
🧹 Könnyed tisztítás: Söpörj el Extra helyek / Szakaszszünetek / Minden fejléc / Szövegdobozok / Hiperhivatkozások / További eltávolító eszközökért keresse fel a Csoport eltávolítása...
➕ Kreatív betétek: Beszúrás Ezer elválasztó / Jelölőnégyzetek / Rádió gombok / QR-kód / Vonalkód / Átlós vonal táblázat / Egyenletfelirat / Képfelirat / Táblázat felirata / Több kép / Fedezzen fel többet a Csoport beszúrása...
???? Precíziós kiválasztás: Pontosan Konkrét oldalak / Asztalok / Alakzatok / Címsor Bekezdések / A navigáció javítása a következővel: több Jelölje ki a funkciókat...
⭐ Star Enhancements: Navigáljon a Bármely helyhez / Ismétlődő szöveg automatikus beszúrása / Váltás a dokumentumablakok között / 11 Konverziós eszközök...