• ベストアンサー

どのように書けばよいか教えて下さい。

フォームのLoadイベントプロシージャを記述する際に 〔数値〕コンボボックスの最初の項目(〔2〕)を選択したい場合、 どのように記述したらよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • BellBell
  • ベストアンサー率54% (327/598)
回答No.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)
回答No.2

VBAの例だが Private Sub UserForm_Initialize() Me.ComboBox1.ListIndex = 2 End Sub ListIndexで指定。 アイテムが 東京 大阪 名古屋 のとき2の場合は名古屋が表示されることを確認。 VBでも同じと思う。

noname#140971
noname#140971
回答No.1

値集合ソース=1;2;3;4 の場合に '2' が選択されたフォームをロードしたいということ。 ならば、 Private Sub Form_Load()   Me.combo1.DefaultValue = Me.combo1.ItemData(1) End Sub こういう考え方で・・・。

関連するQ&A