Note: The other languages of the website are Google-translated. Back to English

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.
doc loại bỏ các hàng trùng lặp table01

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

doc loại bỏ các hàng trùng lặp table02

4. nhấn F5 để chạy mã, sau đó tất cả các hàng trùng lặp sẽ bị xóa.
doc loại bỏ các hàng trùng lặp table03

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.
Nhấp để dùng thử Office Tab miễn phí!

Duyệt nhiều tài liệu từ trong một cửa sổ dưới dạng Firefox

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.
Nhận xét (0)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL