Option Explicit
Sub TimMa()
Const StrC As String = "Không có mã này"
Dim Rng As Range, Clls As Range, sRng As Range
Dim MyAdd As String
Sheets("S2").Range("B2:B" & [a65500].End(xlUp).Row).Clear
Application.ScreenUpdating = False
Set Rng = Sheets("S1").[B2].CurrentRegion.Offset(, 3)
For Each Clls In Sheets("S2").Range([a2], [a65500].End(xlUp))
With Clls
Set sRng = Rng.Find(.Value, LookIn:=xlFormulas, lookat:=xlWhole)
If sRng Is Nothing Then
.Offset(, 1) = StrC
Else
MyAdd = sRng.Address
With .Offset(, 1)
Do
.Value = .Value & " " & Sheets("S1").Cells(sRng.Row, "A")
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
If InStr(Mid(.Value, 2), " ") > 0 Then .Interior.ColorIndex = 39
End With
End If
End With
Next Clls
End Sub
Tôi thường kiểm tra bảng kê hóa đơn và trên bảng kê thường kê rất nhiều hóa đơn, thậm chí cả ngàn hóa đơn, nên nhiều lúc kiểm soát không hết hóa đơn nào đã kê rồi, hóa đơn nào chưa kê nên rất dễ xảy ra kê trùng hóa đơn ( 1 hóa đơn kê nhiều lần). Vì vậy, rất mong các huynh giúp zùm cho có cách nào xác định được số hóa đơn khai trùng đó. VD: file kèm theo có hóa đơn ký hiệu HQ/2002-NK số 1525 đã kê trùng tới 3 lần. Như vậy, một cách nào nhanh nhất để tìm biết được trong một bảng kê có một hóa đơn nào đó là có kê trùng và cho kết quả sang mọt sheet khác. Xin cảm ơn nhiều!
Tôi thường kiểm tra bảng kê hóa đơn và trên bảng kê thường kê rất nhiều hóa đơn, thậm chí cả ngàn hóa đơn, nên nhiều lúc kiểm soát không hết hóa đơn nào đã kê rồi, hóa đơn nào chưa kê nên rất dễ xảy ra kê trùng hóa đơn ( 1 hóa đơn kê nhiều lần). Vì vậy, rất mong các huynh giúp zùm cho có cách nào xác định được số hóa đơn khai trùng đó. VD: file kèm theo có hóa đơn ký hiệu HQ/2002-NK số 1525 đã kê trùng tới 3 lần. Như vậy, một cách nào nhanh nhất để tìm biết được trong một bảng kê có một hóa đơn nào đó là có kê trùng và cho kết quả sang mọt sheet khác. Xin cảm ơn nhiều!