ユーザーフォームとドロップダウンリストを持つコンボボックスがあります。しかし、コンボボックスの1つにはドロップダウンの項目が1000件近くあり、コンボボックスに単語を入力して、入力した単語に基づいて選択する候補のリストを取得できるようにしたいコンボボックスに「joh」と入力してください。ドロップダウンで「joh」を含むすべての選択肢のリストを表示して、希望するものを選択できます。上記の機能を必要とするほぼ1000項目のコンボボックスには、「cboProgrammeName」という名前が付けられています。私は以下のVBAはすでにこの機能を提供していますが、完全にはそうではないと言います。現時点で私のコンボボックスに「joh」と入力すると、コンボボックスの右にある矢印をクリックすると、「joh」に基づいてすべての提案が表示されます。しかし、私が望むのは、VBAが自動的に矢印をクリックすることなく提案のリストをポップアップすることです。それは可能ですか?私のユーザーフォームには多くのvbaがありますが、この問題に関連する部分は以下の通りです。それが役に立ったら、私はここにすべての私のVBAコードを投稿することができますが。事前に感謝検索可能なコンボボックスにユーザーフォームの混乱の一覧が表示される
Private Sub UserForm_Initialize()
'Add the drop down lists to combo boxes
Dim cProgrammeName As Range
Dim cTaskName As Range
Dim cUserName As Range
Dim ws As Worksheet
Set ws = Worksheets("XXX")
For Each cProgrammeName In ws.Range("ProgrammeNameList")
With Me.cboProgrammeName
.AddItem cProgrammeName.Value
.List(.ListCount - 1, 1) = cProgrammeName.Offset(0, 1).Value
End With
Next cProgrammeName
For Each cTaskName In ws.Range("TaskNameList")
With Me.cboTaskName
.AddItem cTaskName.Value
End With
Next cTaskName
For Each cUserName In ws.Range("UserNameList")
With Me.cboUserName
.AddItem cUserName.Value
End With
Next cUserName
Me.txtDate.Value = "dd/mm/yyyy"
Me.txtComments.Value = "please type text here if required"
Me.cboProgrammeName.SetFocus
Me.cboProgrammeName.Value = "type text to open a list of choices"
Me.cboTaskName.Value = "click the arrow to open a list of choices"
Me.cboUserName.Value = "click the arrow to open a list of choices"
End Sub
あなたは、エントリの補完機能を実装して、[この](http://quadexcel.com/data-validation-combo-box-with-autocomplete-feature/)のようなものを使用することができます。この機能はダブルクリックで起動します。私は15kを超えるエントリを持つ検証済みのリストでこれを変えました。 – Amorpheuses