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