
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Mac OS Mac iPhoneの連絡帳の大量のリストを削除したい 1 2023/05/12 23:30
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- Excel(エクセル) Excelで質問です。 詳細(写真) ①黄色の部分を全てプルダウンを設定する。 ②リストはG列 ③リ 1 2023/06/16 21:54
- Excel(エクセル) 範囲選択すると最後の一行で急に出てくる#が邪魔で困っています。 ExcelでVLOOKUPで引っ張っ 2 2022/08/31 10:03
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
EXCEL2013 VBA ListBox 未選択
Excel(エクセル)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
エクセルVBAで複数選択できるように設定したリストボックスの、選択され
Visual Basic(VBA)
-
6
UserForm1.Showでエラーになります。
工学
-
7
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
8
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
9
Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。
Visual Basic(VBA)
-
10
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
11
VBAのリストボックスで、横スクロールバーを表示するには?
Visual Basic(VBA)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
エクセルVBAでマルチページの切り替え方法の件で
Excel(エクセル)
-
14
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
15
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
16
リストボックス(複数選択しない)の場合の選択解除について
Access(アクセス)
-
17
リストボックスの特定行の背景色
Visual Basic(VBA)
-
18
ClickとChangeイベントの違いはどこにあるの。
Visual Basic(VBA)
-
19
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
20
ListBoxで改行したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロール名取得
-
ポストバック時の画面スクロー...
-
【ASP.NET】マスターページに配...
-
aspxファイル実行時の表示順に...
-
【VB6】 変数1 = 変数1 Or $H2
-
【ASP2.0】TextBoxのフォーカス...
-
Accessの画面更新を一時的に停...
-
VBAで一時中断したプログラムの...
-
VB.NETでボタンクリックイベン...
-
submitボタンの横幅を小さくし...
-
リンクボタンを押すときに出て...
-
c# 文字列の最後から1文字削除...
-
同じソリューション内の別のプ...
-
CD-Rのセッションクローズを調...
-
VC++ MFC CListCtrlで、ボタン...
-
ASP.NET による画面遷移で質問...
-
フォーム認証でのパスワードロック
-
えきねっとのログイン画面はどこ?
-
動画を再生中/一時停止中にボタ...
-
ログインフラグがわかりません。
マンスリーランキングこのカテゴリの人気マンスリー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で一時中断したプログラムの...
おすすめ情報