OnKey "Delete" 清除组合框
OnKey "Delete" clear combobox
我有一个带有多个组合框的用户表单。用户可以输入新项目或从列表中选择一项。
他可以开始输入想要的项目的首字母,但是当他输入错误并以例如开始时。 "b" 而不是 "n" 他必须手动清除组合框或使用鼠标或箭头在列表中找到项目。
我想使用删除键快速清除框,以便用户可以重新开始输入。但是我不知道如果正确的话把这行代码放在哪里(输入事件,更改事件,或者其他一些?)。
Application.OnKey "{Delete}", "WyczyscPole"
首先Excel需要知道用户在哪个框,然后清除它。
我试图用一个变量创建单独的模块,该变量找出当前的组合框名称并在下一步中清除它。但是不知道下面这个叫sub对不对
Sub WyczyscPole()
Dim NazwaPola As ComboBox
NazwaPola = frmZakupy.ActiveControl.Name
NazwaPola.Clear
End Sub
请尝试:frmZakupy.value=''
最好不要在任何名称中使用特殊字符,例如“ś”、“ć”。
当用户在组合框中时,您可以使用 KeyDown 事件捕获 Delete 键 (KeyCode = 46)。
Private Sub NazwaPola_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 46 Then
Me.NazwaPola.Value = vbNullString
End If
End Sub
我有一个带有多个组合框的用户表单。用户可以输入新项目或从列表中选择一项。
他可以开始输入想要的项目的首字母,但是当他输入错误并以例如开始时。 "b" 而不是 "n" 他必须手动清除组合框或使用鼠标或箭头在列表中找到项目。
我想使用删除键快速清除框,以便用户可以重新开始输入。但是我不知道如果正确的话把这行代码放在哪里(输入事件,更改事件,或者其他一些?)。
Application.OnKey "{Delete}", "WyczyscPole"
首先Excel需要知道用户在哪个框,然后清除它。
我试图用一个变量创建单独的模块,该变量找出当前的组合框名称并在下一步中清除它。但是不知道下面这个叫sub对不对
Sub WyczyscPole()
Dim NazwaPola As ComboBox
NazwaPola = frmZakupy.ActiveControl.Name
NazwaPola.Clear
End Sub
请尝试:frmZakupy.value=''
最好不要在任何名称中使用特殊字符,例如“ś”、“ć”。
当用户在组合框中时,您可以使用 KeyDown 事件捕获 Delete 键 (KeyCode = 46)。
Private Sub NazwaPola_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 46 Then
Me.NazwaPola.Value = vbNullString
End If
End Sub