VB userformでワイルドカード検索型コンボボックスを作りたいと思います。 検索対象がExcelの列にあります。Filter(Array(Range))がPopulatin User_Formコンボボックスで機能しない
私は実行することができます:
Private Sub Combobox1_Populate(Optional fltr As String)
ComboBox1.List = Filter(Array("a", "ab", "abc", "abcd"), fltr)
End Sub
が、使用する際に失敗しました:
Sub Combobox1_Populate(Optional fltr As String)
ComboBox1.List = Filter(Array(Range("A1:A9")), fltr)**
End Sub
を実行時エラー '13' を
種類の不一致
Filter(Array(Range
が動作しないのはなぜですか?それを修正するのを助けてください。
これは以下の問題もありません。ただArray(Range
ない仕事フィルターとの合併
Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Call Combobox1_Populate(ComboBox1.Text)
End Sub
Private Sub UserForm_Initialize()
Call Combobox1_Populate
End Sub
'Range'は常に2次元配列を返し、' Filter'は1D 1を受け入れます。 'Application.Transpose'を使って範囲を転置します。 – Rory
うん、それは仕事をする! – Jimmy
ロリーさん、ありがとうございました。私はそれを知らず、いつもフィルターで辞書を使いました:/); –