我正在尝试在 excel 中使用 ActiveX ComboBox。一切正常,可以从下拉按钮中填充click_event
。但是当它设置点击事件时,我发现它甚至被像箭头键这样的击键触发。这是正常行为吗?如果是,我该如何绕过?
我正在使用 Excel 2007 VBA
这是我用来允许使用键在组合框中导航的方法,我会等着看是否有更好的解决方案..:lastkey 是一个公共变量
Private Sub ComboBox1_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 38 Then
If ComboBox1.ListIndex <> 0 Then
lastkey = KeyCode
ComboBox1.ListIndex = ComboBox1.ListIndex - 1
KeyCode = 0
End If
ElseIf KeyCode = 40 Then
If ComboBox1.ListIndex <> ComboBox1.ListCount - 1 Then
lastkey = KeyCode
ComboBox1.ListIndex = ComboBox1.ListIndex + 1
KeyCode = 0
End If
End If
End Sub
Private Sub ComboBox1_Click()
If lastkey = 38 Or lastkey = 40 Then
Exit Sub
Else
MsgBox "click"
End If
End Sub