Giúp kiểm tra trùng dữ liệu (1 người xem)

Liên hệ QC

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

thonggtcc

Thành viên mới
Tham gia
16/1/07
Bài viết
19
Được thích
0
Số là mình search trên diễn đàn nhiều về vấn đề này và đã từng hỏi các anh chị nhưng chưa có giải đáp.

Đó là:
Với file dữ liệu, yêu cầu đặt ra là:
1. Cảnh báo dữ liệu trùng tại cột B khi nhập tuyến đường mới vào (giả sử người khác thực hiện mà không biết có dữ liệu này rồi). Lưu ý: Chỉ cảnh báo trùng theo tuyến đường thôi (tức là cột A được đánh số thứ tự thì dữ liệu tại cột B mới được xem là tuyến đường: để khỏi trùng lắp trong chi tiết của đường đó).
2. Cảnh báo dữ liệu trùng chi tiết của tuyến đường khi đang nhập dữ liệu mới.
Chi tiết xin xem file đính kèm.
Xin cảm ơn.

paperclip.png
Tập tin đính kèm
 
Vấn đề "trùng dữ liệu" xin mọi người quan tâm giúp.
Việc trùng dữ liệu ở đây có 2 trường hợp và mình cũng không rành về VBA-EXCEL lắm nên thật sự không giải quyết được vấn đề.
Mình đã đăng trong 2 khu vực "Khu vực đăng bài chung" và "Lập trình với Excel" từ ngày 17/8 nhưng đến nay vẫn chưa có ai giúp. Nên hôm nay mình xin mạo muội đưa lại mong mọi người quan tâm tí xíu.
File dữ liệu tại bài #1 ở trên.
 
Upvote 0
Vấn đề "trùng dữ liệu" xin mọi người quan tâm giúp.
Việc trùng dữ liệu ở đây có 2 trường hợp và mình cũng không rành về VBA-EXCEL lắm nên thật sự không giải quyết được vấn đề.
Mình đã đăng trong 2 khu vực "Khu vực đăng bài chung" và "Lập trình với Excel" từ ngày 17/8 nhưng đến nay vẫn chưa có ai giúp. Nên hôm nay mình xin mạo muội đưa lại mong mọi người quan tâm tí xíu.
File dữ liệu tại bài #1 ở trên.

đang nhiều chổ coi chùng bị xóa
chép cái này vào sheet1
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vitri As Range
If Not Intersect(Target, [b6:b6000]) Is Nothing Then
    Set vtri = Range([b6], Target.Offset(-1)).Find(Target.Value, , , 1)
    If Not vtri Is Nothing Then MsgBox "Nhap trung " & vtri.Address
End If

End Sub
 
Upvote 0
đang nhiều chổ coi chùng bị xóa
chép cái này vào sheet1
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vitri As Range
If Not Intersect(Target, [b6:b6000]) Is Nothing Then
    Set vtri = Range([b6], Target.Offset(-1)).Find(Target.Value, , , 1)
    If Not vtri Is Nothing Then MsgBox "Nhap trung " & vtri.Address
End If

End Sub

Cảm ơn Let'GâuGâu đã quan tâm, tuy nhiên bài toán mình đưa ra là trùng tại cột B với 2 loại dữ liệu (xin xem file sẽ rõ).
1. Cột B được gọi là trùng ứng với điều kiện cột A.
2. Cột B chỉ trùng trong phạm vi hẹp hơn: chỉ xét cho dữ liệu của tuyến đường liền trên.
Rất mong anh Let'GâuGâu xử lý giúp.
 
Upvote 0
Cảm ơn Let'GâuGâu đã quan tâm, tuy nhiên bài toán mình đưa ra là trùng tại cột B với 2 loại dữ liệu (xin xem file sẽ rõ).
1. Cột B được gọi là trùng ứng với điều kiện cột A.
2. Cột B chỉ trùng trong phạm vi hẹp hơn: chỉ xét cho dữ liệu của tuyến đường liền trên.
Rất mong anh Let'GâuGâu xử lý giúp.

ko biết đúng ko, hên sui
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vitri As Range
If Not Intersect(Target, [b6:b6000]) Is Nothing Then
    If Target.Offset(, -1) <> "" Then
        Set vtri = Range([b6], Target.Offset(-1)).Find(Target.Value, , , 1)
        If Not vtri Is Nothing Then MsgBox "Nhap trung " & vtri.Address
    Else
        Set vtri = Range(Target.Offset(-1, -1).End(3), Target.Offset(-1, -1)).Offset(, 1).Find(Target.Value, , , 1)
        If Not vtri Is Nothing Then MsgBox "Nhap trung " & vtri.Address
    End If
End If

End Sub
 
Upvote 0
ko biết đúng ko, hên sui
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vitri As Range
If Not Intersect(Target, [b6:b6000]) Is Nothing Then
    If Target.Offset(, -1) <> "" Then
        Set vtri = Range([b6], Target.Offset(-1)).Find(Target.Value, , , 1)
        If Not vtri Is Nothing Then MsgBox "Nhap trung " & vtri.Address
    Else
        Set vtri = Range(Target.Offset(-1, -1).End(3), Target.Offset(-1, -1)).Offset(, 1).Find(Target.Value, , , 1)
        If Not vtri Is Nothing Then MsgBox "Nhap trung " & vtri.Address
    End If
End If

End Sub

Ô là la, đúng chóc rồi, rất cảm ơn Let'GâuGâu.
Let'GâuGâu có thể thêm vài dòng để hoàn thiện hơn được không?: Khi cảnh báo xong thì xoá dòng bị trùng và nhảy đến đúng dòng dữ liệu đã có trước.
Thanks.
 
Upvote 0
Web KT

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

Back
Top Bottom