Hỏi về cách nhận biết dữ liệu đã được nhập từ các sheet trước (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tại sheet 1 đến sheet 4 đã nhập dữ liệu không có nhập trùng , ở sheet 6 đến sheet 9 thì cố tình nhập trùng các shet khác đã có .Kết quả chạy code tại sheet 5 ra đúng , chạy code tại sheet 10 thì kết quả cũng ra đúng số lượng những em đã được nhập liệu.Dấu hiệu nhận biết tại sheet trước ta đã nhập rồi để sheet sau không nhập nữa thì sẽ dựa vào chi tiết nào để nhận biết hả bạn ?
Cám ơn bạn LetGauGau !
 

File đính kèm

Tại sheet 1 đến sheet 4 đã nhập dữ liệu không có nhập trùng , ở sheet 6 đến sheet 9 thì cố tình nhập trùng các shet khác đã có .Kết quả chạy code tại sheet 5 ra đúng , chạy code tại sheet 10 thì kết quả cũng ra đúng số lượng những em đã được nhập liệu.Dấu hiệu nhận biết tại sheet trước ta đã nhập rồi để sheet sau không nhập nữa thì sẽ dựa vào chi tiết nào để nhận biết hả bạn ?
Cám ơn bạn LetGauGau !

code này chạy được trên mỗi sheet.
bạn có thể cho nó chạy trước khi nhập liệu mới
hoặc gắn nó vào sự kiện Active Sheet
Mã:
Sub sumifs2003()
Dim arr, ws5 As Variant, tam(), i, j, k, n As Long, ws As Worksheet, d As Object
Set d = CreateObject("scripting.dictionary")
ws5 = ActiveSheet.[b5:f53].Value

If ActiveSheet.Index < 6 Then FI = 1 Else FI = 5

For k = FI To Worksheets.Count
If k > ActiveSheet.Index - 1 Then Exit For

With Sheets(k)
    arr = .[b5:f53].Value
End With
    For i = 1 To UBound(arr)
        If Not IsEmpty(arr(i, 2)) And Not IsEmpty(arr(i, 3)) And Not IsEmpty(arr(i, 4)) Then
        If Not d.Exists(arr(i, 1)) Then
            n = n + 1
            d.Add arr(i, 1), n
            ReDim Preserve tam(1 To n)
            tam(n) = Sheets(k).Name
        Else
            tam(d.Item(arr(i, 1))) = tam(d.Item(arr(i, 1))) & ", " & Sheets(k).Name
        End If
        End If
    Next
Next

For j = 1 To UBound(ws5)
    If d.Exists(ws5(j, 1)) Then ws5(j, 5) = tam(d.Item(ws5(j, 1)))
Next

ActiveSheet.[b5:f53].Value = ws5
Set d = Nothing
End Sub
 
Lần chỉnh sửa cuối:
Cám ơn bạn LetGauGau nhiều ! Code này cũng như code trước đêu cho kết quả chính xác tại cột F ( cột kiểm tra ) của 2 giai đoạn.Để chiều tối nay về mình mở topic mới về cho " hiện màu"trên những sheet đã nhập trước và sau nhé và nhờ bạn vào xem để giúp mình.
 
Web KT

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

Back
Top Bottom