Cách để có thể sử dụng keyUp keydown khi nhấn phím không cần dùng Tab

chào mn em có đoạn code sử dụng cho user form gồm 2 nút nhấn và 1 textbox có giá trị tăng giảm, em muốn set cho 2 nút này có thể dùng trên bàn phím cụ thể là pgUp pgdown
nhưng khi nhấn em phải chỉ chuột vào button trên form mới nhấn được chứ không tự động focus ạ.

Private Sub CommandButton1_Click()
UserForm1.Label5.Caption = Label5.Caption + 1
Label6 = Label4.Caption - Label5.Caption
If UserForm1.Label4.Caption <> 0 Then
Label10 = ((Label5.Caption / Label4.Caption) * 100) & "%"
Else
End If
End Sub

Private Sub CommandButton1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
CommandButton1_Click
'End If
End Sub

Private Sub CommandButton2_Click()
UserForm1.Label5.Caption = Label5.Caption - 1
Label6 = Label4.Caption - Label5.Caption
If UserForm1.Label4.Caption <> 0 Then
Label10 = ((Label5.Caption / Label4.Caption) * 100) & "%"
Else
End If
End Sub


Private Sub CommandButton2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
CommandButton2_Click
'End If
End Sub

Mình không rõ về cú pháp của VBA, bạn chưa bắt được sự kiện nhấn phím hay chỉ không bắt được PgUpPgDown trên TextBox?
Vì trên TextBox thế nào cũng bắt được sự kiện nhấn phím hoặc nhập chữ.

1 Like

mình cần dùng keyboard cho button nhấn chứ không phải textbox ạ. ví dụng dùng sự kiện để gọi click_commandbutton .
ở đây mình làm được rồi nhưng nó không tự bắt click khi nhấn phím mà phải chỉ chuột vào button trước í.

Bạn tham khảo PreviewKeydown với PreviewKeyUp nhé !!. ^^

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?