Dùng sự kiện Private Sub Worksheet_Change để thông báo

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Em xin cảm ơn!

Các anh/chị giúp em trường hợp sau
Em muốn dùng sự kiện Private Sub Worksheet_Change tại sheet DT để thông báo như sau
Ví dụ ở sheet DT mà em nhập Tên khách hàng ( cột C) sau khi nhập tên xong và Enter
Nếu bên sheet Ma_KH có tên khách hàng và có ghi tình trạng thì có thông báo tình trạng theo dòng tương ứng

Ví dụ : tên khách hàng Cty AAA thì thông báo là "No lau, kho doi"
tên khách hàng Cty BBB thì không thông báo ( vì không có ghi tình trạng)
tên khách hàng Cty CCC thì thông báo là "Lay tien lien"

Em xin cảm ơn!

Bạn mình thử xem!

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C9:C10000")) Is Nothing Then
        Dim Dic As Object, Key, Lr&, Arr(), i&
        Set Dic = CreateObject("Scripting.Dictionary")
        With Sheets("Ma_KH")
            Lr = .Range("F" & Rows.Count).End(xlUp).Row
            Arr = .Range("F13:G" & Lr).Value
            For i = 1 To UBound(Arr)
                If Arr(i, 1) <> "" Then
                    Key = Arr(i, 1)
                    If Not Dic.exists(Key) Then Dic.Add (Key), Arr(i, 2)
                End If
            Next i
        End With
        If Dic.exists(Target.Value) Then MsgBox Dic.Item(Target.Value)
    End If
    Set Dic = Nothing
End Sub

Thêm chút mắm nêm:

If Dic.exists(Target.Value) And not IsEmpty(Dic.Item(Target.Value) ) Then MsgBox Dic.Item(Target.Value)

www.giaiphapexcel.com/diendan/threads/d%C3%B9ng-s%E1%BB%B1-ki%E1%BB%87n-private-sub-worksheet_change-%C4%91%E1%BB%83-th%C3%B4ng-b%C3%A1o.166970/#post-1114934

Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM
Khóa học SprinGO phù hợp

Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM

Khóa học “Thiết kế Tổng phần thưởng (Total Reward) chuẩn khung SHRM” giúp bạn nắm vững toàn bộ hệ thống đãi ngộ theo chuẩn...

Xem khóa học
★★★★★ 5 ★ 1 👤 3 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm