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