• 締切済み

コンボボックスで表示されたリストの一番上を反転させたい

WINDOWS XP、EXCEL2002を使っています。 ユーザーフォームにコンボボックスを配置してあります。 RowSourceには  山田 yamada  佐藤 satou  鈴木 suzuki としてあり、コンボボックスに「s」と入力すると「佐藤」が、「su」入力すると「鈴木」がリストの一番上に来るようになっています。 「su」と入力し、ユーザーが「鈴木」でよいと判断した場合Enterを押せば「su」の所に「鈴木」が入力されるようにしたいのですが、今はそのまま「su」となってしまいます。 常にリストの一番上がマウスで触られた状態?になってくれればいいのですが、このやり方がわかりません。 どうかよろしくお願いします。

みんなの回答

noname#8445
noname#8445
回答No.2

リストボックスとは違うようです 少し試しましたが、選択するコードが無いのと リロードすればできると思います あとenterのみイベントが発生するコードも見当たりませんでした。 すみません

min128mini
質問者

お礼

いろいろお調べいただき、ありがとうございました。

すると、全ての回答が全文表示されます。
noname#8445
noname#8445
回答No.1

マクロなら コンボボックス名.selected(0) = true でいけませんか

min128mini
質問者

補足

ご回答ありがとうございます。 早速、試させていただきましたが、「メソッドまたはデータメンバーが見つかりません」というメッセージが出てうまく行きませんでした。 ちなみにだいぶ省略してありますが、↓のように書いてます。 ------------------------------------------------- Private Sub ComboBox1_Change() 'リスト用のデータはEXCEL BookのA2からB4にあります。 Dim CBox1 As String Dim f As String ComboBox1.DropDown CBox1 = Me.ComboBox1.Value Call Mod_select(f, CBox1) '←抽出モジュール Me.ComboBox1.RowSource = f 'Me.ComboBox1.Selected(0) = True '←これを入れると「メソッドまたはデータメンバーが見つかりません」となります。 End Sub Sub Mod_select(f, CBox1) On Error GoTo Errorhand Columns("B:B").Select Selection.Find(What:=CBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, MatchByte:=False).Activate f = "A" & ActiveCell.Row & ":B4" Errorhand: 'なにもしない End Sub ------------------------------------------------ 原因が分かりましたら、またアドバイスいただけないでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A