- ベストアンサー
リストボックス(複数選択しない)の場合の選択解除について
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1の補足&別提案 pooh-tanさんの仰るとおりでした。(無念) で、違う方法です。 複数選択のプロパティを「する」にして、複数選択させない方法です。 (泥臭いプログラムだが動きはOK) Private lngIdx As Long 'リスト選択インデックス格納用変数 Private Sub Form_Load() lngIdx = -1 'リストボックスが初期選択されていない場合 End Sub Private Sub list1_Click() If list1.ItemsSelected.Count > 1 Then For i = 0 To list1.ListCount list1.Selected(i) = False Next i list1.Selected(list1.ListIndex) = True lngIdx = list1.ListIndex Else lngIdx = -1 End If End Sub
その他の回答 (1)
- smart600cc
- ベストアンサー率39% (97/245)
もっと良い方法があると思いますけど、とりあえず急ぎならば、これでいいのでは。 コードビルダ(VBA)でプログラム。 リストボックス名:list1 選択の有無及び値はlngIdxで取得(-1:未選択) Private lngIdx As Long 'リスト選択インデックス格納用変数 Private Sub Form_Load() lngIdx = list1.ListIndex End Sub Private Sub list1_Click() If lngIdx = list1.ListIndex Then list1.ListIndex = -1 lngIdx = -1 Else lngIdx = list1.ListIndex End If End Sub
お礼
ご回答ありがとうございます。上記の通りやってみたんですが、 確かに選択の解除ができるようになったのですが、選択を解除した 場合他のコントロール(コマンドボタンやテキストボックス)を操作する ことができくなってしまいます。 たびたび申し訳ありませんが、宜しくお願いします。
関連するQ&A
- リストボックスの選択解除
VBAでフォーム上にリストボックスを置いています。 最初にフォームを表示した時は 何もリストボックスが選択されておらず 値を追加した後に、何かクリックすると 選択した項目が青?色に変わります。 その青色を解除したいのですが(要は選択状態を解除したい) どうやってすればいいのでしょうか? selected(X) = falseとしましたが何も起こりませんでした。 宜しくお願い致します。
- ベストアンサー
- Visual Basic
- Access コンボボックスの複数選択
Access2007を勉強中の初心者です。 「空白のフォーム」から作成したコンボボックスで、複数選択が可能になるような設定はありませんか? テーブル項目の「ルックアップ」「複数の値を許可」を許したテーブルから作成したフォームでは、コンボボックスで複数の値を選択可能になりますが、「空白のフォーム」から作成した場合にはできないのでしょうか。 リストボックスではスペースをとってしまう為、コンボボックスで行いたいです。 言葉足らずな内容かもしれませんし、大変お手数をおかけしますが、よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- リストの複数選択について
リストボックスで複数選択(拡張)に設定した場合に Ctrl キーを押しながらクリックすることによって、リスト内の項目を 1 つずつ選択、選択解除出来る機能を Ctrl キーを押さない状態で実現したいのですが 可能でしょうか? また、ほかの機能(コンポーネント)で代用出来る物があれば教えてください
- 締切済み
- Visual Basic
- ACCESSフォームのリストボックスでレコードが選択できない
ACCESS2000です。 フォームの左側に親テーブルのフィールド1の値を選択させるリストボックスがあり、そこで選択したレコードにリンクする子テーブルのレコードをフォームの右側にサブフォームで表示させたいのですが、リストボックスでレコードを選択できません(クリックしても反転しません)。でもレコード移動ボタンを押すと、リストボックス内の該当レコードがちゃんと反転し、右側のサブフォームにも正しく反映します。 リストボックスのプロパティはくまなく見ましたがそれらしい設定項目はみつかりませんでした。どこを直せばよいのでしょうか。
- 締切済み
- オフィス系ソフト
- 複数リストボックスの連動について
複数リストボックスの連動についてお聞きします。 エクセル2003、VBAのユーザーフォームのリストボックスになります。 VBAに関わらずプログラミング全般初心者で恐縮ですが よろしくご指導ください。 毎月の明細から 地域を分類軸に、そこに含まれる支店を、地域をまたいで複数選択ができるリストボックスの作成をしたいと考えてます。 ListBox1(地域),ListBox2(支店)に値を重複無しに、組み合わせを表示させるまではできたのですが、 ListBox1(地域)の選択を解除した後に、再び選択すると、 ListBox2(支店)の値が重複して表示されてしまいます。 ネットで知恵を探したのですが、 ListBox1のクリックイベント時に、ListBox2の値を消す しか見つからず、自分の課題がどうしても解決できません。 どのような方向性で考えれば、解決できるのか教示いただきたいです。 自分としては、ListBox1の選択を解除したときに、 対応するListBox2が消えればと考えましたが・・・全くうまくいきません。 もし、自分の考えが的外れでしたら、正しい考え方をお教えいただきたいです。 考えが妥当であれば、どういう記述をすべきなのか、 教授願いたいです。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- accessでのリストボックス選択のイベント
お世話になります。 度々で恐縮なのですが、以下の質問を よろしくお願いいたします。 accessのフォーム上にリストボックスとテキスト ボックスをはりつけ、リストボックスに表示されて いる行が選択されたら、その項目値をテキスト ボックスに表示させようとしています。 しかし、リストボックスのイベント(マウスボタン クリック時や開放時)を使ってみたのですが、 二度クリックしないとテキストボックスに表示され ません。 リストボックスの行が選択されたというイベントが あればいいのですが、見当たりません。 どうすれば、リストボックスで行が選択されたという イベントを捕まえることができるのかご教示お願い いたします。
- ベストアンサー
- その他(データベース)
- エクセルのリストボックスの複数選択について
エクセルのワークシート上に配置するリストボックスで複数選択する場合に値(番号)を返す方法を教えてください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- リストボックスの値を全選択する
エクセルのユーザーフォームにリストボックスとコマンドボタンを設置し、 コマンドボタンをクリックするとリストボックス内の値を全選択する。 という動作は出来ますでしょうか。 勉強不足で申し訳ありませんが、ご教示願います。
- ベストアンサー
- オフィス系ソフト
- Access97のフォーム(リストボックス)について
Access97のフォームについてです。リストボックスで複数選択設定した場合,その選択項目をテーブルに反映させる方法を教えて下さい。
- ベストアンサー
- オフィス系ソフト
お礼
上記方法でうまくいきました。 smart600ccさん、大変ありがとうございました!!