[ Hỏi ]Loại bỏ dữ liệu trùng trong MS Word sử dụng Macro?

Liên hệ QC

phantomxxx

Thành viên mới
Tham gia
22/5/14
Bài viết
1
Được thích
0
Có bác nào rành về Macro cho em hỏi . Bên dưới là Macro loại bỏ dữ liệu trùng em sưu tầm được ở trên mạng .


Sub RemoveDupEntries()
Dim para As Paragraph
Dim doc As Document
Dim vEntries() As Variant
Dim vDupEntries() As Variant
Dim sParaText As String
ReDim vEntries(0)
ReDim vDupEntries(0)
Set doc = ActiveDocument
For Each para In doc.Paragraphs
sParaText = Left(para.Range.Text, para.Range.Characters.count - 1)
If IsMember(vEntries, sParaText) Then
If IsMember(vDupEntries, sParaText) = False Then
Push vDupEntries, sParaText
End If
para.Range.Delete
Else
Push vEntries, sParaText
End If
Next para
' Now vDupEntries contains any items that were duplicated.
' You can insert it at the end of doc 3 as needed
' For example:
' Documents("Doc3").Content.InsertAfter Join(vDupEntries, vbCr)
End Sub
'
Function Push(ByRef vArray As Variant, ByVal str As String)
ReDim Preserve vArray(UBound(vArray) + 1)
vArray(UBound(vArray)) = str
End Function
'
Function IsMember(vArray As Variant, ByVal str As String)
Dim v As Variant
For Each v In vArray
If v = str Then
IsMember = True
Exit Function
End If
Next v
IsMember = False
End Function


Trong những văn bản lớn thì đoạn code này thực hiện rất lâu .

1 .Mong các Bác giúp em thay đổi Macro trên đơn giản hóa chỉ tìm ở trong Heading .
2 .Xóa dữ liệu trùng với một yêu cầu cho trước
Ví dụ :
- ABC xxxx xxx xx
- XYZ xx xxx xx
Chạy Macro
- XYZ xx xxx xx

Yêu cầu : Nếu đầu câu xuất hiện ABC thì xóa hết luôn đoạn văn bản.

Mong nhận được sự giúp đỡ của moi người. Cám ơn đã đọc bài viết.
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom