tb_TPL không Focus (1 người xem)

Liên hệ QC

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

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ó file đính kèm. Trong file em nhập liệu bằng Form.
Trong sự kiện tb_TPL_Keydown, khi enter ở tb_TPL thì chạy code GhiListbox1, mà trong code GhiListbox1 có tb_TPL = Empty thì tb_TPL.SetFocus
thế mà tb_TPL không SetFocus. Mong các anh chị giúp đỡ.
Mã:
Private Sub ghilistbox1()
   On Error Resume Next
    With ListBox1
        .AddItem .ListCount + 1
        .List(.ListCount - 1, 1) = tb_TPL
        .ListIndex = .ListCount - 1 'chon gia tri cuoi cung
    End With
    tb_TPL = Empty
    tb_TPL.SetFocus
End Sub
 

File đính kèm

Xin lỗi!
Em đưa lộn file.
Em đã đưa file lại ở bài #1
 
Upvote 0
Ý muốn của em là khi nhập xong tên phụ liệu ->enter thì tên phụ liệu đập vào ListBox1 và xòa tên phụ liệu trong textbox TPL và con trỏ chuột nháy ở textbox tên phụ liệu (tb_TPL.SetFocus) để nhập tên phụ liệu khác.
Mong các anh chị xem giúp em.
 
Upvote 0
Nếu bạn không chịu học VBA mà chỉ toàn đi nhờ người khác thì ít nhất những vấn đề người ta đã giải quyết cho bạn thì bạn phải ghi vào sổ tay. Không thể dễ nhờ quá thì cứ nhờ, người ta làm hộ nhưng không ghi lại, lúc khác vẫn vấn đề ấy lại đi hỏi. Nhờ dễ quá nên bạn lười. Mà cuối cùng không chỉ người khác mất thời gian không cần thiết mà chính bạn cũng mất thời gian không cần thiết.

Tôi đã làm cho bạn (vd. trong tập tin VietNhat_1.xlsb) nhưng bạn không ghi lại nên bây giờ lại hỏi.

1.
sửa
Mã:
Private Sub tb_TPL_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then ghilistbox1
End Sub
thành
Mã:
Private Sub tb_TPL_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
        ghilistbox1
        KeyCode = 0
    End If
End Sub

2. Trong Sub ghilistbox1 xóa tb_TPL.SetFocus vì không cần thiết.

So sánh 2 code rồi rút ra kết luận, mấu chốt ở đâu.
 
Upvote 0
Cám ơn Thầy Batman1!
Thầy đã giúp em rất nhiều.
 
Upvote 0
So sánh 2 code rồi rút ra kết luận, mấu chốt ở đâu.
Khi nhấn enter, nó ghi dữ liệu vào listbox, nhưng mà textbox vẫn đang ở trạng thái forcus, do vậy dù setforcus là thừa, khi xự kiến này hoàn thành, textbox nó thấy keycode là 13 nên nó cứ nhảy đến control khác. cho keycode =0 là nó sẽ không tự nhạy tới control
 
Upvote 0
Lại cũng vấn đề Focus.
Trên form của em, giờ em thêm một CheckBox, khi click vào CheckBox thì xóa tb_DH(đơn hàng) và con chuột nháy tại tb_DH.(tb_DH được Focus) Em có thêm code"
Mã:
Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then tb_DH = "" and tb_DH.SetFocus
End Sub
nhưng lỗi vàng ngay And tb_DH.SetFocus.
Mong Thầy batman1 và các anh chị xem giúp.
 
Upvote 0
Lại cũng vấn đề Focus.
Trên form của em, giờ em thêm một CheckBox, khi click vào CheckBox thì xóa tb_DH(đơn hàng) và con chuột nháy tại tb_DH.(tb_DH được Focus) Em có thêm code"
Mã:
Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then tb_DH = "" and tb_DH.SetFocus
End Sub
nhưng lỗi vàng ngay And tb_DH.SetFocus.
Mong Thầy batman1 và các anh chị xem giúp.
Chứng tỏ bạn viết code nhiều quá nên tẩu hỏa nhập ma.
Bạn thay and bằng dấu : hoặc sửa lệnh đó thành
if checkbox1.value then
tb_dh=""
tb_dh.setfocus
Endif
 
Upvote 0
Cám ơn bạn Hau151978!
Nói thực là mình không biết tý code nào hết đó. Toàn là nhờ các anh chị trên DD giúp không hà.
Mình nghĩ làm sao mình viết đại vậy đó.
 
Upvote 0
Cám ơn bạn Hau151978!
Nói thực là mình không biết tý code nào hết đó. Toàn là nhờ các anh chị trên DD giúp không hà.
Mình nghĩ làm sao mình viết đại vậy đó.
Nó là ngôn ngữ lập trình, như là tiếng anh ý, không biết mà cứ cố nói có khi bị người khác oánh cho đấy.
 
Upvote 0
Web KT

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

Back
Top Bottom