Làm cách nào để xóa các hàng trùng lặp khỏi bảng trong tài liệu Word?
Trong tài liệu Word, có thể có một số bảng có các hàng trùng lặp mà bạn muốn loại bỏ và đôi khi giữ nguyên xuất hiện đầu tiên. Trong trường hợp này, bạn có thể chọn xóa từng cái trùng lặp theo cách thủ công, bạn cũng có thể chọn sử dụng mã VBA.
Xóa các hàng trùng lặp khỏi bảng trong Word
Xóa các hàng trùng lặp khỏi bảng trong Word
1. Đặt con trỏ vào bảng bạn muốn xóa các hàng trùng lặp, nhấn Alt + F11 các phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. nhấp chuột Chèn > Mô-đun để tạo một Mô-đun mới.
3. Sao chép mã bên dưới và dán chúng vào mã mới Mô-đun kịch bản.
VBA: Loại bỏ các hàng trùng lặp khỏi bảng trong 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. nhấn F5 để chạy mã, sau đó tất cả các hàng trùng lặp sẽ bị xóa.
Chú thích: Mã trên có phân biệt chữ hoa chữ thường, nếu bạn muốn xóa các hàng trùng lặp trong trường hợp không phân biệt chữ hoa chữ thường, bạn có thể sử dụng mã dưới đây:
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
Nếu bạn muốn xóa các hàng trùng lặp trong tất cả các bảng của tài liệu, hãy đặt con trỏ vào bất kỳ vị trí nào của tài liệu bên ngoài bảng, sau đó áp dụng một trong các mã trên.
Duyệt theo tab & chỉnh sửa nhiều tài liệu Word / sổ làm việc Excel dưới dạng Firefox, Chrome, Internet Explore 10! |
Có thể bạn đã quen với việc xem nhiều trang web trong Firefox / Chrome / IE và chuyển đổi giữa chúng bằng cách nhấp vào các tab tương ứng một cách dễ dàng. Ở đây, Tab Office hỗ trợ xử lý tương tự, cho phép bạn duyệt nhiều tài liệu Word hoặc sổ làm việc Excel trong một cửa sổ Word hoặc cửa sổ Excel và dễ dàng chuyển đổi giữa chúng bằng cách nhấp vào tab của chúng. |
![]() |
Công cụ năng suất Word được đề xuất
Kutools cho Word - Hơn 100 tính năng nâng cao cho Word, tiết kiệm 50% thời gian của bạn
- Các hoạt động phức tạp và lặp đi lặp lại có thể được thực hiện xử lý một lần trong vài giây.
- Chèn nhiều hình ảnh trên các thư mục vào tài liệu Word cùng một lúc.
- Hợp nhất và kết hợp nhiều tệp Word trên các thư mục thành một với thứ tự mong muốn của bạn.
- Chia tài liệu hiện tại thành các tài liệu riêng biệt theo tiêu đề, ngắt phần hoặc các tiêu chí khác.
- Chuyển đổi tệp giữa Doc và Docx, Docx và PDF, bộ sưu tập các công cụ để chuyển đổi và lựa chọn phổ biến, v.v.