Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


73447 / 76738 ←次へ | 前へ→

【7766】Re:コンボボックスの表示について
発言  ichinose  - 03/9/17(水) 13:27 -

引用なし
パスワード
   皆さん、こんにちは。
Dropdownメソッドについての不可解な現象について・・。

例えば、ユーザーフォーム(Userform1)にコンボボックス(Combobox1)、
テキストボックス(Textbox1)、コマンドボタン(Commandbutton1)という
タブオーダーで配置したとします。
ここで、Userform1を表示させ、いきなり最初にフォーカスを得るコントロールである
コンボボックスのドロップダウンリストを表示させることを考えました。
タブキーを進めていって2順目にコンボボックスにフォーカスが移ったときも同様に
ドロップダウンリストを表示させます。

すぐ思いつくのは、Combobox1のEnterイベントで、

Private Sub ComboBox1_Enter()
  ComboBox1.DropDown
End Sub

ですよね?
ところがこれを実行すると、ドロップダウンリストがとんでもないところに
表示されてしまうんです。
それではと思い、今度は、ユーザーフォームのInitializeイベントではと思い

Private Sub UserForm_Initialize()
  ComboBox1.DropDown
End Sub
も結果は同じでした。

最後にActivateイベントはどうだろうと思い、
Private Sub UserForm_Activate()
  ComboBox1.DropDown
End Sub

やっと正常表示してくれました。
よって、上述の仕様でコンボボックスを動作させるのに

Private FIRST_FLG As Long
'======================
Private Sub AAAComboBox1_Enter()
  If FIRST_FLG = 0 Then
    FIRST_FLG = 1
  Else
    ComboBox1.DropDown
    End If
End Sub
'==================
Private Sub UserForm_Activate()
  ComboBox1.DropDown
End Sub
なんていうコードしないと仕様どおりになりませんでした。

又、「そんなことないよ」なんていうご意見がありましたら、
よろしくお願いします。
0 hits

【7758】コンボボックスの表示について トモ 03/9/17(水) 11:30 発言
【7761】Re:コンボボックスの表示について INA 03/9/17(水) 11:42 回答
【7764】Re:コンボボックスの表示について トモ 03/9/17(水) 12:28 お礼
【7763】Re:コンボボックスの表示について Jカーター 03/9/17(水) 12:26 回答
【7765】Re:コンボボックスの表示について トモ 03/9/17(水) 12:31 お礼
【7766】Re:コンボボックスの表示について ichinose 03/9/17(水) 13:27 発言
【7804】Re:コンボボックスの表示について Jaka 03/9/18(木) 15:08 発言
【7811】Re:コンボボックスの表示について ichinose 03/9/18(木) 21:50 お礼
【7822】Re:コンボボックスの表示について Jaka 03/9/19(金) 9:17 発言

73447 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free