
VBAのフォーム上で、複数選択ができるListBox1を作っています。
ListBox1を選択する度に、ListBox2へListBox1の選択内容で
絞り込んだListBox2のリストを作るという処理をしたいのですが、
ListBox1_ClickイベントでListBox1のリストクリック時に
何も反応がありません。
.MultiSelect = fmMultiSelectSingle
で指定した複数リストボックスはClickイベントが拾えないのでしょうか?
ListBox1リスト内のデータ選択・解除の度にイベントが
発生するようにしたいです。
宜しくお願いします。
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
>Changeでも無理でした。
。そーですか
イベント発生確認のためのサンプルを作ってみましたので試してみてください
準備
新しいブックを作成する
userformを作成し
listbox を1つ
label を1つ
textbox を1つ
commandbutton を2つ
これをuserform上に作成してください
配置、大きさは適当でよいです
次のコードすべてをuserformモジュールへコピペしてください
後は、作成したuserformを表示してください
Private Sub UserForm_Initialize()
If Range("a1").Value = "" Then ActiveSheet.Range("a1:a10").Formula = "=row(a1)*7"
ListBox1.RowSource = "a1:a10"
ListBox1.MultiSelect = fmMultiSelectSingle
Label1.Caption = "Singl"
CommandButton1.Caption = "Singl"
CommandButton2.Caption = "Multi"
End Sub
Private Sub CommandButton1_Click()
ListBox1.MultiSelect = fmMultiSelectSingle
Label1.Caption = "Singl"
End Sub
Private Sub CommandButton2_Click()
ListBox1.MultiSelect = fmMultiSelectMulti
Label1.Caption = "Multi"
End Sub
Private Sub ListBox1_Click()
MsgBox "クリックイベント発生"
TextBox1.Value = ListBox1.Value
End Sub
Private Sub ListBox1_Change()
If Label1.Caption = "Singl" Then Exit Sub
MsgBox "チェンジイベント発生"
'知りたいのは、これのような気がします↓↓
TextBox1.Value = ListBox1.List(ListBox1.ListIndex)
End Sub
サンプルのデータは表示されているシートに勝手に作成します
commandbuttonでsinglselectかmaltiselectの選択が出来ます
labelには現在の設定が表示されます
textboxにlistboxで選択した値が表示されます
多分、これで解決するのではと思いますが
私の見当違いでしたら無視してください
No.7
- 回答日時:
マルチセレクトで、listboxの値を拾うのは、
以下のような感じで、拾えました。
Private Sub ListBox1_Change()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Debug.Print ListBox1.List(i)
End If
Next
End Sub
No.6
- 回答日時:
なるほど、
シングルセレクトしか、確認していませんでした。
複数選択にすると、clickイベントは、
何も出ませんね。
changeイベントだと、nullを返すので、
質問者さんの、反応無しは、不思議ですね。
myRangeさん、ありがとうございました。
No.4
- 回答日時:
>やはり、ListBox1_Clickではイベントが発生しないようです
まさかと思いますが。異様に器用なことをしていません。
まさか、標準モジュールにイベント書いていないですよね。
イベントは、フォームに貼り付けた、
リストボックスをダブルクリックして、
コードを書くところを出しますが。
私の勘違いなら、ごめん!!
No.3
- 回答日時:
お急ぎのようですので、横から失礼して。
。。>Changeでも無理でした。。
これは2通りの意味に取れます。
1.Changeイベントの発生が確認できなかった
2。Changeイベントでのコードがうまく動作しなかった
Changeイベントは発生するので、2の意味だろうと推測します。
なら、Changeイベントのコードを提示した方がいいでしょう。
以上です。
No.2
- 回答日時:
listbox1に、値をセットして、以下のイベントを
書いて、ユーザーフォームを表示し、クリックすると
イミディエイトウィンドに、値が出ますよ。
Private Sub ListBox1_Click()
Debug.Print UserForm1.ListBox1.Value
End Sub
>複数選択ができるListBox1
これを書いて、
>MultiSelect = fmMultiSelectSingle
一体、、何がしたいのですか、??
回答ありがとうございます。
記述を間違えました。すいません。
MultiSelect = fmMultiSelectMulti
です。
やはり、ListBox1_Clickではイベントが発生しないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
EXCEL2013 VBA ListBox 未選択
Excel(エクセル)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
エクセルVBAで複数選択できるように設定したリストボックスの、選択され
Visual Basic(VBA)
-
6
UserForm1.Showでエラーになります。
工学
-
7
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
8
Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。
Visual Basic(VBA)
-
9
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
10
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
11
VBAのリストボックスで、横スクロールバーを表示するには?
Visual Basic(VBA)
-
12
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
13
エクセルVBAでマルチページの切り替え方法の件で
Excel(エクセル)
-
14
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
15
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。
Visual Basic(VBA)
-
18
リストボックス(複数選択しない)の場合の選択解除について
Access(アクセス)
-
19
リストボックスの特定行の背景色
Visual Basic(VBA)
-
20
ClickとChangeイベントの違いはどこにあるの。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ASP2.0】TextBoxのフォーカス...
-
複数選択のListBoxでClickイベ...
-
VB2005においてクリック...
-
ASP.NET(VB)にてFormViewでの更...
-
【VB6】 変数1 = 変数1 Or $H2
-
TreeViewの制御について
-
repeaterコントロールについて
-
submitボタンにvalue属性の値で...
-
VBAで一時中断したプログラムの...
-
ページングが大量発生する原因...
-
コネクション・セッション・ト...
-
Accessの画面更新を一時的に停...
-
ブラウザの×(閉じる)ボタンの...
-
フォームデータをlocation.repl...
-
リセットボタン などで、リン...
-
asp.NET初心者です。「 ’Contex...
-
テキストボックスのクリックで...
-
コンピュータへの接続数が最大...
-
ボタンをクリックしたら、音が...
-
スマホで、左右にスワイプして...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数選択のListBoxでClickイベ...
-
ポストバック(__doPostback)へ...
-
【ASP2.0】TextBoxのフォーカス...
-
【VB6】 変数1 = 変数1 Or $H2
-
C#でドラッグ&ドロップが機能し...
-
リストビュー内でのドラッグ&...
-
ポストバック時の画面スクロー...
-
DragEnterイベントについて(VS...
-
【ASP.NET】マスターページに配...
-
Ctrl+vのイベントを解除
-
slick.jsによるスライダー実装...
-
repeaterコントロールについて
-
aspxファイル実行時の表示順に...
-
自作exeを常駐させるとPCがシャ...
-
アクセス+vb 複数コントロー...
-
ExcelVBAでのユーザーフォーム...
-
VB2005においてクリック...
-
TreeViewの制御について
-
コネクション・セッション・ト...
-
VBAで一時中断したプログラムの...
おすすめ情報