Public WithEvents tbox As MSForms.TextBox
Public WithEvents cbox As MSForms.ComboBox
Public WithEvents cmbox As MSForms.CommandButton
Private Sub tbox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case Is = 112: MsgBox (" nhan F1 de lam 1 cai gi do"), , tbox.Name
Case Is = 113: MsgBox (" nhan F2 de lam 1 cai gi do"), , tbox.Name
Case Is = 114: MsgBox (" nhan F3 de lam 1 cai gi do"), , tbox.Name
End Select
End Sub
Private Sub cbox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case Is = 112: MsgBox (" nhan F1 de lam 1 cai gi do"), , cbox.Name
Case Is = 113: MsgBox (" nhan F2 de lam 1 cai gi do"), , cbox.Name
Case Is = 114: MsgBox (" nhan F3 de lam 1 cai gi do"), , cbox.Name
End Select
End Sub
Private Sub cmbox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case Is = 112: MsgBox (" nhan F1 de lam 1 cai gi do"), , cmbox.Name
Case Is = 113: MsgBox (" nhan F2 de lam 1 cai gi do"), , cmbox.Name
Case Is = 114: MsgBox (" nhan F3 de lam 1 cai gi do"), , cmbox.Name
End Select
End Sub
-------------------------------------
Dim objTbx() As New clsEvents, objCbo() As New clsEvents, objCmbo() As New clsEvents
Private Sub UserForm_Initialize()
Dim ctr As Control, n1 As Long, n2 As Long
For Each ctr In Me.Controls
If (TypeOf ctr Is MSForms.TextBox) Then
n1 = n1 + 1
ReDim Preserve objTbx(1 To n1)
Set objTbx(n1).tbox = ctr
End If
If (TypeOf ctr Is MSForms.ComboBox) Then
n2 = n2 + 1
ReDim Preserve objCbo(1 To n2)
Set objCbo(n2).cbox = ctr
End If
If (TypeOf ctr Is MSForms.CommandButton) Then
n2 = n2 + 1
ReDim Preserve objCmbo(1 To n2)
Set objCmbo(n2).cmbox = ctr
End If
Next
End Sub