SetFocus khi TextBox rỗng.

Liên hệ QC

NguyenthiH

Thành viên mới đăng ký
Tham gia
11/12/16
Bài viết
965
Được thích
175
Giới tính
Nữ
Chào các anh chị !!
Em có viết đoạn code:
Mã:
If tb_DH = "" Then MsgBox ("Chua co don hang"), , "GPE": Exit Sub
khi tb_DH rỗng thì có MsgBox"chua co don hang" và thoát Sub, bây giờ em muốn khi thoát Sub thì tb_DH được SetFocus để gõ vào ạ, thì sửa code sao ạ.
 
Gửi cả cụm lên mới biết exit sub kia còn chạy gì không?

Cụt ngủn 1 dòng thế kia dống trơi chò hắc lão nắm.
 
Upvote 0
Dạ em xin đưa hết code ạ:
Mã:
Private Sub ghilistbox2()
 If tb_DH = "" Then MsgBox ("Chua co don hang"), , "GPE": Exit Sub
With ListBox2
    .AddItem .ListCount + 1
    .List(.ListCount - 1, 1) = tb_TPL.Value
    .List(.ListCount - 1, 2) = tb_DVT.Value
    .List(.ListCount - 1, 3) = Format(tb_SL.Value, "#,##0.00")
    .List(.ListCount - 1, 4) = tb_DH.Value
    .ListIndex = .ListCount - 1
End With
    tb_TPL = Empty:  tb_DVT = Empty:  tb_SL = Empty
ListBox1.SetFocus
End Sub
 
Upvote 0
Private Sub ghilistbox2()
If len(tb_DH.Text) =0 Then tb_DH.setfocus: Exit sub
With ListBox2
'....
 
Upvote 0
Em muốn có MsgBox rồi mới Focus đó anh @befaint .
Bài đã được tự động gộp:

Em nhập liệu bằng Form, trên Form có 4 textBox, tb_DH là textBox cuối, nếu nhập 3 textBox kia mà tb_DH không nhập mà nhấn enter thì có msgBox "chua co don hang" và thoát sub và tb_DH được Focus để gõ đơn hàng vào ạ. và lúc đó enter mới nhập vào ListBox.
 
Lần chỉnh sửa cuối:
Upvote 0
Êêê, không cần cả tập tin đâu. Chỉ cần SUB mà ở đó gọi ghilistbox2.

Vì thớt nổi tiếng tiết kiệm từng click nên không có chuyện nhập xong 4 textbox là click nút "Thêm" nên tôi đoán là khi nhập xong tb_DH (nằm ở cuối trong 4 textbox về mặt TabIndex?) thì đập mạnh vào ENTER.
Xem đoạn sau thì tôi đoán đúng.
Em nhập liệu bằng Form, trên Form có 4 textBox, tb_DH là textBox cuối, nếu nhập 3 textBox kia mà tb_DH không nhập mà nhấn enter thì có msgBox "chua co don hang" và thoát sub và tb_DH được Focus để gõ đơn hàng vào ạ. và lúc đó enter mới nhập vào ListBox.

Nếu thớt có code kiểu
Mã:
Private Sub tb_DH_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then ghilistbox2
End Sub
thì SerFocus của befaint không có tác dụng.

Nếu sửa thành
Mã:
Private Sub tb_DH_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
        ghilistbox2
        KeyCode = 0
    End If
End Sub

Thì không có SetFocus của befaint thì tb_DH vẫn có focus.

Tóm lại chỉ thêm KeyCode = 0 vào Sub tb_DH_KeyDown còn trong ghilistbox2 không sửa gì cả, vẫn để như cũ.
Mã:
If tb_DH = "" Then MsgBox ("Chua co don hang"), , "GPE": Exit Sub
 
Upvote 0
Dạ em cám ơn Thầy batman1 nhiều ạ.
 
Upvote 0
Web KT

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

Back
Top Bottom