- ベストアンサー
どのように書けばよいか教えて下さい。
フォームのLoadイベントプロシージャを記述する際に 〔数値〕コンボボックスの最初の項目(〔2〕)を選択したい場合、 どのように記述したらよいでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VB6(たぶん4,5でもOK)の例なら Private Sub Form_Load() Combo1.ListIndex = 0 End Sub これは、開発時にListプロパティに、値を設定していた場合です。 入力していなかった場合は、下記のようにコードでリストを設定した後に、ListIndexプロパティを設定です。 Private Sub Form_Load() Dim i As Long For i = 1 To 10 Combo1.AddItem CStr(i) Next Combo1.ListIndex = 0 End Sub 質問内に書いてあった、 『コンボボックスの最初の項目(2)』 を、 『リストの一番目(今回はそれが数文字"2")』 と解釈したため、 『Combo1.ListIndex = 0』です。 Index|文字 ----------- 0 |"2" 1 |"4" 2 |"6" ----------- 上の例で書けば、"2"を表示させたいなら、ListIndexは0を設定するってことです。 もし、二番目を表示させたいってことであれば(上の例では"4")、ListIndexは1ですね。 (ちなみにリストは何も選択されていない状態のListIndexは、-1です)
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
VBAの例だが Private Sub UserForm_Initialize() Me.ComboBox1.ListIndex = 2 End Sub ListIndexで指定。 アイテムが 東京 大阪 名古屋 のとき2の場合は名古屋が表示されることを確認。 VBでも同じと思う。
値集合ソース=1;2;3;4 の場合に '2' が選択されたフォームをロードしたいということ。 ならば、 Private Sub Form_Load() Me.combo1.DefaultValue = Me.combo1.ItemData(1) End Sub こういう考え方で・・・。