• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コンボボックス等における表示アイテムの設定方法(VB5.0→VB6.0移植))

コンボボックス等における表示アイテムの設定方法(VB5.0→VB6.0移植)

このQ&Aのポイント
  • コンボボックスやリストボックスで表示するアイテムをプログラムで制御する方法について質問です。
  • VB5.0からVB6.0への移植時にコンパイルエラーが発生し、アイテムの設定ができない状況です。
  • VB.5.0からVB.6.0への移植時にアイテムの設定方法が変わったようです。初期設定状況を表示し、オペレーターが変更可能にするための対応方法について教えてください。

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

  • ベストアンサー
  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

ListCountではなくてListIndexに代入するのでは? あと、代入時は-1しないと期待したものが選択されないと思います。

aramananto
質問者

お礼

2点修正したら動きました。 ありがとうございました。

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

関連するQ&A

  • コンボボックスのクリア方法について教えて下さい(vb6.5)

    コンボボックスのクリア方法について教えて下さい(vb6.5) ComboBox1で選択したものによって、 ComboBox2で表示するものを変えたいと思っています。 ただ、一度ComboBox1で選択した後にComboBox2を開くと、 ComboBox2は前回のものがどんどん足されていきます。 コンボボックスのクリア方法について、 どの様にすればよいかご教示のほど、 宜しくお願い致します。 Private Sub ComboBox1_Change() UserForm1.ComboBox2.RemoveItem (0) If ComboBox1.Text = 1 Then UserForm1.ComboBox2.AddItem "A" UserForm1.ComboBox2.AddItem "B" UserForm1.ComboBox2.AddItem "C" ElseIf ComboBox1.Text = 2 Then UserForm1.ComboBox2.AddItem "D" UserForm1.ComboBox2.AddItem "E" UserForm1.ComboBox2.AddItem "F" Else UserForm1.ComboBox2.AddItem "G" UserForm1.ComboBox2.AddItem "H" UserForm1.ComboBox2.AddItem "I" End If End Sub -------------------------------------- Private Sub UserForm_Initialize() UserForm1.ComboBox1.AddItem "1" UserForm1.ComboBox1.AddItem "2" UserForm1.ComboBox1.AddItem "3" End Sub

  • コンボボックスへの値の編集方法について

    ACCESSで複数のフォームにコンボボックスを配置しています。どのフォームのコンボボックスにも同じようにコンボボックスの値を設定します。それぞれプロパティの値リストを設定することなく、共通のモジュールを作成してそこでADDITEMできるようにしたいと考えています。 モジュールにどのようにコンボボックスを引数として渡したらよいか、またモジュールではどのように引数を受け取り、どのようにadditemしたらよいか教えていただけないでしょうか。 よろしくお願いします。

  • DBカラムをコンボボックスに設定する方法

    VB初心者ですみませんが、どなたか教えてください。 以下のようにADOにてDBのカラムからデータを取得し、コンボボックスに設定をしたいのですが、よくわかりません。 コンボボックスのはじめに空白→DBの項目を設定→最後に”なし”を設定したいのですが、教えてください。 Dim adors As New ADODB.Recordset adors.Open "SELECT A_FIELD FROM TABLE",・・・・ If adors.RecordCount <> 0 Then ComboBOX.AddItem ("") 'コンボボックスのはじめに空白を設定 Set ComboBOX.RowSource = adors ComboBOX.MatchEntry = dblExtendedMatching ComboBOX.ListField = "A_FIELD" ComboBOX.AddItem ("なし") 'コンボボックスの終わりにに’なし’を設定 End If

  • Excel:VBAでコンボボックスを活用する方法

    はじめまして。Excel2000でアンケートシートを作りたいと思っています。 その回答をコンボボックスから選ぶようにしたいのですが、「違う質問だけど同じ選択肢」というのがたくさんあるので簡潔にしたいのです。 このサイト等ネットで調べるとコントロールに変数を持たせる方法として Control(ComboBox & i)とか Me(ComboBox & i) というのを目にしましたが、どちらもこの状態には該当しないのかうまくいきませんでした。 コンボボックスごとにソースを作るしかないのでしょうか? 理想としてはforループでコンボボックスの回数だけ回して、if文でComboBox1と3と4と7には○○○、2と5と6には△△△を表示するようにできたらいいなぁと思っています。 (あくまで理想のソースです。) For i = 1 To 30 If i = 1 Or 3 Or 4 Or 7 Then With ComboBox & i(←ここが知りたいです☆) .Clear .AddItem "非常に重要" .AddItem "重要" .AddItem "少し重要" .AddItem "重要ではない" End With ElseIf i = 2 Or 5 Or 6 Then With ComboBox & i(←ここが知りたいです☆) .Clear .AddItem "はい" .AddItem "いいえ" End With End If Next i いかがでしょうか?☆部分をどうにかすることで解決するのでしょうか?他に方法があったらぜひご教示ください。 そもそもコンボボックスの作り方にも自信がありません。 以前に少しだけVBを経験してますが、ほぼ初心者です。 よろしくお願い致します。

  • VB2008でのコンボボックスの扱いについて

    VB2008でのコンボボックスの扱いについて 教えてください。 コード(3桁)と名称をコンボに設定したいの ですが、 例えばコード1桁の時、3桁の時でも後に続く 名称の先頭を揃えたいのですが。 VB6の時は .AddItem Format("01", "@@@!") & "名称"で できたのですが。 VB2008で .Items.Add("01".PadRight(3) & 名称)で 実行すると微妙にずれるのですが。 何か良い方法を教えて頂きたいのですが。

  • VB.NETのコンボボックスについて

    VB6からVB.NETでプログラミングを始めました。 コンボボックスのクリアの仕方や設定の仕方、また 取り出し方等を教えて下さい。 色々とヘルプも見てみたのですが、よく解りません。 宜しくお願い致します。

  • Access2000 コンボボックスで初期値を表示したい

    Access2000のコンボボックスで If cmbBoxA.ListCount > 0 then  cmbBoxA=(cmbBoxAの先頭の値) End If というのを実行したいのですが、 cmbBoxAの先頭を指定する方法がわかりません。 ListIndex(0)で指定できるのかと思ったのですが、 エラーが発生してうまくいきません。 どなたか、よろしくお願いいたします。 なお、cmbBoxAのRowSourceは、 他のコンボボックスで指定した値によって、変更されます。 検索で調べましたが、見つかりませんでした。

  • コンボボックスにリストが表示されません・・・

    ユーザーフォーム(UserForm)にコンボボックス(ComboBox1)を作ってリストを入れました。 しかしユーザーフォームを実行してもコンボボックスに何もリストが出てきません。 なにが悪いのでしょうか?チュートリアルどおりにやっているのですが・・・(T T) Private Sub UserForm_Initialize() With ComboBox1 .AddItem "東京" .AddItem "名古屋" .AddItem "福岡" End With End Sub Windows2000+Excel2000です。

  • テキストボックスのデフォルト設定とコンボボックスの更新について

    テキストボックスのデフォルト設定とコンボボックスの更新について エクセルのVBAで、ユーザーフォームを使用しています。 ユーザーフォームの中にはコンボボックスとテキストボックスとボタンがあります。 コンボボックスには「ABCDEFGHIJKLM」と合計13のリストがあります。 ユーザーフォーム起動時に、コンボボックスには最初のリスト(A)が表示 されていて、「次へ」ボタンと「戻る」ボタンの2つを用意しています。 (1)ユーザーフォーム起動時にテキストボックスに「0」を入れる方法を教えていただけないでしょうか。 コンボボックスで「A」が選択された状態で「次へ」ボタンをおしたら「B」が選ばれる。 「D」が選択された状態で「次へ」ボタンをおしたら「E」が選ばれる。 「M」が選択された状態で「次へ」ボタンをおしたら「A」が選択される。(リストの最初に戻る。) というのは、次のVBAで上手くいきました。 If Combobox1.ListIndex < Combobox1.ListCount - 1 Then Combobox1.Text = Combobox1.List(Combobox1.ListIndex + 1) Else Combobox1.Text = Combobox1.List(0) End If (2)しかし「E」が選択された状態で「戻る」ボタンをおしたら「D」が選ばれる。 「G」が選択された状態で「戻る」ボタンをおしたら「F」が選ばれる。 「A」が選択された状態で「戻る」ボタンをおしたら「M」が選ばれる。(リストの最後に戻る。) といった内容のマクロがうまく組めません。 教えていただけると助かります。

  • vb コンボボックスのイベントについて

    こんばんわ。 コンボボックスで、 指定の値をマウス操作でクリックしたときと、 キーボードの上下で、移動後returnを押したときだけ、 MsgBox "処理実行" を実行したいです。 keystateを使ってみたのですが、前の情報が残っているのかうまくいきません。keystateの情報をクリアさせるか、シンプルに上記を動作させる何かよい方法はありますでしょうか。 Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Dim flg1 As Boolean Private Sub form_load() Combo1.AddItem (11) Combo1.AddItem (22) Combo1.AddItem (33) Combo1.AddItem (44) End Sub Private Sub Combo1_Keyup(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then 'return flg1 = True Call Combo1_click End If End Sub Private Sub Combo1_click() If (GetKeyState(&H26) <> 0) Or (GetKeyState(&H28) <> 0) Then ' ↑↓ If flg1 = False Then Exit Sub End If End If MsgBox "処理実行" flg1 = False End Sub