hỏi code sau khi enter vẫn ở lại 1 textbox

Liên hệ QC

buivankiet

Thành viên mới
Tham gia
30/5/08
Bài viết
38
Được thích
6
Tôi có tạo một form nhập liệu họ tên nhân viên từ text box1 vào cột a:a như sau
private sub textbox1_afterupdate()
[a1000].Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.value=textbox1 .value
textbox1.value =""
textbox1.setfocus
end sub

nhưng sau khi enter thì nó cứ di chuyển đến 1 control khác, không cho mình nhập liệu tiếp. hỏi có cách nào sau khi enter, thực hiện một khối lệnh, xóa textbox1, textbox1 vẫn được chọn để nhập liệu tiếp
 
Bạn thử như thế này xem nhé.
PHP:
Dim Ent As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Ent Then Cancel = True
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Then Ent = True
End Sub
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Ent = False
End Sub
 
Upvote 0
Bạn sử dụng code và event sau là được
Mã:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
KeyCode = 0
luu
TextBox1 = ""
TextBox1.SetFocus
End If
End Sub

[FONT=Arial]sub luu()[/FONT]
[FONT=Arial][a1000[/FONT]].Select
    Selection.End(xlUp).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.value=textbox1 .value
end sub

Cái mẹo ở đây là đặt ở Keydown. Như vậy, ta xóa mã của phím Enter là xong (KeyCode=0)
Đoạn luu mình giữ code của bạn.
 
Upvote 0
Tôi đã làm được rồi, cám ơn bạn hoa35ktxd và Bạn Sealand. Code của bạn Sealand dễ hiểu hơn. Cám ơn hai Bạn.
Kiệt,
 
Upvote 0
Web KT

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

Back
Top Bottom