Sự kiện After Update Textbox

Liên hệ QC

moihocvba

Thành viên thường trực
Tham gia
16/8/20
Bài viết
211
Được thích
50
Xin chào anh chị, em có userform gồm 3 Texbox theo thứ tự là Textbox1, Textbox2, Textbox3. Em ràng buộc điều kiện là sau khi nhập xong Textbox2 và chuyển sang Textbox3 thì Textbox2 = Textbox1, nếu không bằng thì báo lỗi đồng thời con trỏ chuột nằm ngay ở Textbox2 để nhập lại.

1650442568691.png

E viết code này ở Textbox2 nhưng khi hiện thông báo lỗi rồi mà con trỏ chuột nó không nằm ở Textbox2 mà nó nhảy sang Textbox3 luôn, như vậy là lỗi gì ạ, em cám ơn ạ!

Mã:
Private Sub Textbox2 _AfterUpdate()
If Textbox2 <> Textbox1 Then
    MsgBox "BAN DA NHAP SAI!"
    Textbox2 = ""
    Textbox2.SetFocus
End If
End Sub
 

File đính kèm

  • Vidu2.xlsm
    14.8 KB · Đọc: 5
không nằm ở Textbox2 mà nó nhảy sang Textbox3 luôn, như vậy là lỗi gì ạ, em cám ơn ạ!
Thử dùng cái này coi
Mã:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Me.TextBox2.Value <> Me.TextBox1.Value Then
        MsgBox "BAN DA NHAP SAI!"
        Me.TextBox2 = Empty
        Me.TextBox2.SetFocus
        Cancel = True
    End If
End Sub
 
Upvote 0
Thử dùng cái này coi
Mã:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Me.TextBox2.Value <> Me.TextBox1.Value Then
        MsgBox "BAN DA NHAP SAI!"
        Me.TextBox2 = Empty
        Me.TextBox2.SetFocus
        Cancel = True
    End If
End Sub
Dạ em cám ơn.
Được rồi anh ạ, mừng quá, hihi
 
Upvote 0
Dạ em cám ơn.
Được rồi anh ạ, mừng quá, hihi
Làm xong quay lại thì thấy bài #2 làm được rồi nhưng đây là dùng sự kiện BeforeUpdate nên cũng có ích với bạn sau này:
Rich (BB code):
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    If TextBox2 <> TextBox1 Then
        MsgBox "BAN DA NHAP SAI!"
        TextBox2 = ""
        Cancel = True
    End If
End Sub
 
Upvote 0
Xin chào anh chị, em có userform gồm 3 Texbox theo thứ tự là Textbox1, Textbox2, Textbox3. Em ràng buộc điều kiện là sau khi nhập xong Textbox2 và chuyển sang Textbox3 thì Textbox2 = Textbox1, nếu không bằng thì báo lỗi đồng thời con trỏ chuột nằm ngay ở Textbox2 để nhập lại.

View attachment 274752

E viết code này ở Textbox2 nhưng khi hiện thông báo lỗi rồi mà con trỏ chuột nó không nằm ở Textbox2 mà nó nhảy sang Textbox3 luôn, như vậy là lỗi gì ạ, em cám ơn ạ!

Mã:
Private Sub Textbox2 _AfterUpdate()
If Textbox2 <> Textbox1 Then
    MsgBox "BAN DA NHAP SAI!"
    Textbox2 = ""
    Textbox2.SetFocus
End If
End Sub
Nhưng mà mục đích bài này làm cái gì vậy bạn? 2 bắt nhập giống 1, thế thì nhập 2 làm gì mà không lấy trực tiếp kết quả 1 luôn?
 
Upvote 0
Nếu đã Cancel = True rồi thì không cần set focus nữa
Dạ con cám ơn Chú!
Bài đã được tự động gộp:

Nhưng mà mục đích bài này làm cái gì vậy bạn? 2 bắt nhập giống 1, thế thì nhập 2 làm gì mà không lấy trực tiếp kết quả 1 luôn?
Dạ em quét mã vạch trên sản phẩm và trên hộp sản phẩm, xem thử nó có trùng nhau không ạ.
Mặc định là nó sẽ trùng, còn nếu không trùng thì nó báo. Nhiều khi sản phẩm này nhưng bỏ nhầm vào hộp kia. Hihi
 
Upvote 0
Web KT

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

Back
Top Bottom